{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.hVTw1oJn/b1/slidge_0.2.9-1_armhf.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.hVTw1oJn/b2/slidge_0.2.9-1_armhf.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,3 +1,3 @@\n \n- 9bb0b2040b929032a2d899dbb2aae31d 2044460 python optional python-slidge-doc_0.2.9-1_all.deb\n+ ff8773f213b8f962e986d8d65d622c09 2043236 python optional python-slidge-doc_0.2.9-1_all.deb\n 6c3c7f5ce39eff39603e7a5361d11a21 126160 python optional python3-slidge_0.2.9-1_all.deb\n"}, {"source1": "python-slidge-doc_0.2.9-1_all.deb", "source2": "python-slidge-doc_0.2.9-1_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2025-04-06 14:51:27.000000 debian-binary\n -rw-r--r-- 0 0 0 4176 2025-04-06 14:51:27.000000 control.tar.xz\n--rw-r--r-- 0 0 0 2040092 2025-04-06 14:51:27.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 2038868 2025-04-06 14:51:27.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: python-slidge-doc\n Source: slidge\n Version: 0.2.9-1\n Architecture: all\n Maintainer: Debian XMPP Maintainers \n-Installed-Size: 4639\n+Installed-Size: 4564\n Depends: libjs-sphinxdoc (>= 8.1)\n Section: python\n Priority: optional\n Multi-Arch: foreign\n Homepage: https://slidge.im/\n Description: XMPP puppeteer gateway library in Python (documentation)\n Slidge makes writing gateways to other chat networks (legacy modules)\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -66,15 +66,15 @@\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/command/\n -rw-r--r-- 0 root (0) root (0) 6513 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/command/index.rst.txt\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/command/register/\n -rw-r--r-- 0 root (0) root (0) 1502 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/command/register/index.rst.txt\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/contact/\n -rw-r--r-- 0 root (0) root (0) 19367 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/contact/index.rst.txt\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/group/\n--rw-r--r-- 0 root (0) root (0) 23630 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/group/index.rst.txt\n+-rw-r--r-- 0 root (0) root (0) 13827 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/group/index.rst.txt\n -rw-r--r-- 0 root (0) root (0) 27204 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/index.rst.txt\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/main/\n -rw-r--r-- 0 root (0) root (0) 883 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/main/index.rst.txt\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/superduper/\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/superduper/gateway/\n -rw-r--r-- 0 root (0) root (0) 15819 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/superduper/gateway/index.rst.txt\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/superduper/group/\n@@ -166,38 +166,38 @@\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/command/\n -rw-r--r-- 0 root (0) root (0) 66332 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/command/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/command/register/\n -rw-r--r-- 0 root (0) root (0) 29758 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/command/register/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/contact/\n -rw-r--r-- 0 root (0) root (0) 105816 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/contact/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/group/\n--rw-r--r-- 0 root (0) root (0) 136534 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/group/index.html\n--rw-r--r-- 0 root (0) root (0) 156061 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/index.html\n+-rw-r--r-- 0 root (0) root (0) 83718 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/group/index.html\n+-rw-r--r-- 0 root (0) root (0) 155913 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/main/\n -rw-r--r-- 0 root (0) root (0) 23840 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/main/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/gateway/\n -rw-r--r-- 0 root (0) root (0) 93230 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/gateway/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/group/\n--rw-r--r-- 0 root (0) root (0) 131986 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/group/index.html\n+-rw-r--r-- 0 root (0) root (0) 131839 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/group/index.html\n -rw-r--r-- 0 root (0) root (0) 21610 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/session/\n--rw-r--r-- 0 root (0) root (0) 103583 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/session/index.html\n+-rw-r--r-- 0 root (0) root (0) 103422 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/session/index.html\n -rw-r--r-- 0 root (0) root (0) 26048 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/contributing.html\n -rw-r--r-- 0 root (0) root (0) 28961 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/design.html\n -rw-r--r-- 0 root (0) root (0) 20421 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/howto.html\n -rw-r--r-- 0 root (0) root (0) 22949 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/index.html\n -rw-r--r-- 0 root (0) root (0) 37110 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/dev/tutorial.html\n--rw-r--r-- 0 root (0) root (0) 88898 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/genindex.html\n+-rw-r--r-- 0 root (0) root (0) 85679 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/genindex.html\n -rw-r--r-- 0 root (0) root (0) 24930 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/glossary.html\n--rw-r--r-- 0 root (0) root (0) 112291 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/index.html\n--rw-r--r-- 0 root (0) root (0) 5630 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/objects.inv\n+-rw-r--r-- 0 root (0) root (0) 106744 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/index.html\n+-rw-r--r-- 0 root (0) root (0) 5449 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/objects.inv\n -rw-r--r-- 0 root (0) root (0) 28384 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/py-modindex.html\n -rw-r--r-- 0 root (0) root (0) 18987 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/search.html\n--rw-r--r-- 0 root (0) root (0) 107055 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/searchindex.js\n+-rw-r--r-- 0 root (0) root (0) 103329 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/searchindex.js\n drwxr-xr-x 0 root (0) root (0) 0 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/user/\n -rw-r--r-- 0 root (0) root (0) 24494 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/user/commands.html\n -rw-r--r-- 0 root (0) root (0) 22245 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/user/contacts.html\n -rw-r--r-- 0 root (0) root (0) 24540 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/user/index.html\n -rw-r--r-- 0 root (0) root (0) 21578 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/user/low_profile.html\n -rw-r--r-- 0 root (0) root (0) 20537 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/user/note.html\n -rw-r--r-- 0 root (0) root (0) 24944 2025-04-06 14:51:27.000000 ./usr/share/doc/python-slidge-doc/html/user/register.html\n"}, {"source1": "./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/group/index.rst.txt", "source2": "./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/group/index.rst.txt", "unified_diff": "@@ -153,233 +153,14 @@\n \n .. py:method:: ban(reason = None)\n \n Call this when the participant is banned from the room\n \n \n \n- .. py:method:: online(status = None, last_seen = None)\n-\n- Send an \"online\" presence from this contact to the user.\n-\n- :param status: Arbitrary text, details of the status, eg: \"Listening to Britney Spears\"\n- :param last_seen: For :xep:`0319`\n-\n-\n-\n- .. py:method:: away(status = None, last_seen = None)\n-\n- Send an \"away\" presence from this contact to the user.\n-\n- This is a global status, as opposed to :meth:`.LegacyContact.inactive`\n- which concerns a specific conversation, ie a specific \"chat window\"\n-\n- :param status: Arbitrary text, details of the status, eg: \"Gone to fight capitalism\"\n- :param last_seen: For :xep:`0319`\n-\n-\n-\n- .. py:method:: extended_away(status = None, last_seen = None)\n-\n- Send an \"extended away\" presence from this contact to the user.\n-\n- This is a global status, as opposed to :meth:`.LegacyContact.inactive`\n- which concerns a specific conversation, ie a specific \"chat window\"\n-\n- :param status: Arbitrary text, details of the status, eg: \"Gone to fight capitalism\"\n- :param last_seen: For :xep:`0319`\n-\n-\n-\n- .. py:method:: busy(status = None, last_seen = None)\n-\n- Send a \"busy\" (ie, \"dnd\") presence from this contact to the user,\n-\n- :param status: eg: \"Trying to make sense of XEP-0100\"\n- :param last_seen: For :xep:`0319`\n-\n-\n-\n- .. py:method:: offline(status = None, last_seen = None)\n-\n- Send an \"offline\" presence from this contact to the user.\n-\n- :param status: eg: \"Trying to make sense of XEP-0100\"\n- :param last_seen: For :xep:`0319`\n-\n-\n-\n- .. py:method:: invite_to(muc, reason = None, password = None, **send_kwargs)\n-\n- Send an invitation to join a group (:xep:`0249`) from this :term:`XMPP Entity`.\n-\n- :param muc: the muc the user is invited to\n- :param reason: a text explaining why the user should join this muc\n- :param password: maybe this will make sense later? not sure\n- :param send_kwargs: additional kwargs to be passed to _send()\n- (internal use by slidge)\n-\n-\n-\n- .. py:method:: active(**kwargs)\n-\n- Send an \"active\" chat state (:xep:`0085`) from this\n- :term:`XMPP Entity`.\n-\n-\n-\n- .. py:method:: composing(**kwargs)\n-\n- Send a \"composing\" (ie \"typing notification\") chat state (:xep:`0085`)\n- from this :term:`XMPP Entity`.\n-\n-\n-\n- .. py:method:: paused(**kwargs)\n-\n- Send a \"paused\" (ie \"typing paused notification\") chat state\n- (:xep:`0085`) from this :term:`XMPP Entity`.\n-\n-\n-\n- .. py:method:: inactive(**kwargs)\n-\n- Send an \"inactive\" (ie \"contact has not interacted with the chat session\n- interface for an intermediate period of time\") chat state (:xep:`0085`)\n- from this :term:`XMPP Entity`.\n-\n-\n-\n- .. py:method:: gone(**kwargs)\n-\n- Send a \"gone\" (ie \"contact has not interacted with the chat session interface,\n- system, or device for a relatively long period of time\") chat state\n- (:xep:`0085`) from this :term:`XMPP Entity`.\n-\n-\n-\n- .. py:method:: ack(legacy_msg_id, **kwargs)\n-\n- Send an \"acknowledged\" message marker (:xep:`0333`) from this :term:`XMPP Entity`.\n-\n- :param legacy_msg_id: The message this marker refers to\n-\n-\n-\n- .. py:method:: received(legacy_msg_id, **kwargs)\n-\n- Send a \"received\" message marker (:xep:`0333`) from this :term:`XMPP Entity`.\n- If called on a :class:`LegacyContact`, also send a delivery receipt\n- marker (:xep:`0184`).\n-\n- :param legacy_msg_id: The message this marker refers to\n-\n-\n-\n- .. py:method:: displayed(legacy_msg_id, **kwargs)\n-\n- Send a \"displayed\" message marker (:xep:`0333`) from this :term:`XMPP Entity`.\n-\n- :param legacy_msg_id: The message this marker refers to\n-\n-\n-\n- .. py:method:: send_file(file_path = None, legacy_msg_id = None, *, async_data_stream = None, data_stream = None, data = None, file_url = None, file_name = None, content_type = None, reply_to = None, when = None, caption = None, legacy_file_id = None, thread = None, **kwargs)\n- :async:\n-\n-\n- Send a single file from this :term:`XMPP Entity`.\n-\n- :param file_path: Path to the attachment\n- :param async_data_stream: Alternatively (and ideally) an AsyncIterator yielding bytes\n- :param data_stream: Alternatively, a stream of bytes (such as a File object)\n- :param data: Alternatively, a bytes object\n- :param file_url: Alternatively, a URL\n- :param file_name: How the file should be named.\n- :param content_type: MIME type, inferred from filename if not given\n- :param legacy_msg_id: If you want to be able to transport read markers from the gateway\n- user to the legacy network, specify this\n- :param reply_to: Quote another message (:xep:`0461`)\n- :param when: when the file was sent, for a \"delay\" tag (:xep:`0203`)\n- :param caption: an optional text that is linked to the file\n- :param legacy_file_id: A unique identifier for the file on the legacy network.\n- Plugins should try their best to provide it, to avoid duplicates.\n- :param thread:\n-\n-\n-\n- .. py:method:: send_text(body, legacy_msg_id = None, *, when = None, reply_to = None, thread = None, hints = None, carbon=False, archive_only=False, correction=False, correction_event_id = None, link_previews = None, **send_kwargs)\n-\n- Send a text message from this :term:`XMPP Entity`.\n-\n- :param body: Content of the message\n- :param legacy_msg_id: If you want to be able to transport read markers from the gateway\n- user to the legacy network, specify this\n- :param when: when the message was sent, for a \"delay\" tag (:xep:`0203`)\n- :param reply_to: Quote another message (:xep:`0461`)\n- :param hints:\n- :param thread:\n- :param carbon: (only used if called on a :class:`LegacyContact`)\n- Set this to ``True`` if this is actually a message sent **to** the\n- :class:`LegacyContact` by the :term:`User`.\n- Use this to synchronize outgoing history for legacy official apps.\n- :param correction: whether this message is a correction or not\n- :param correction_event_id: in the case where an ID is associated with the legacy\n- 'correction event', specify it here to use it on the XMPP side. If not specified,\n- a random ID will be used.\n- :param link_previews: A little of sender (or server, or gateway)-generated\n- previews of URLs linked in the body.\n- :param archive_only: (only in groups) Do not send this message to user,\n- but store it in the archive. Meant to be used during ``MUC.backfill()``\n-\n-\n-\n- .. py:method:: correct(legacy_msg_id, new_text, *, when = None, reply_to = None, thread = None, hints = None, carbon=False, archive_only=False, correction_event_id = None, link_previews = None, **send_kwargs)\n-\n- Modify a message that was previously sent by this :term:`XMPP Entity`.\n-\n- Uses last message correction (:xep:`0308`)\n-\n- :param new_text: New content of the message\n- :param legacy_msg_id: The legacy message ID of the message to correct\n- :param when: when the message was sent, for a \"delay\" tag (:xep:`0203`)\n- :param reply_to: Quote another message (:xep:`0461`)\n- :param hints:\n- :param thread:\n- :param carbon: (only in 1:1) Reflect a message sent to this ``Contact`` by the user.\n- Use this to synchronize outgoing history for legacy official apps.\n- :param archive_only: (only in groups) Do not send this message to user,\n- but store it in the archive. Meant to be used during ``MUC.backfill()``\n- :param correction_event_id: in the case where an ID is associated with the legacy\n- 'correction event', specify it here to use it on the XMPP side. If not specified,\n- a random ID will be used.\n- :param link_previews: A little of sender (or server, or gateway)-generated\n- previews of URLs linked in the body.\n-\n-\n-\n- .. py:method:: react(legacy_msg_id, emojis = (), thread = None, **kwargs)\n-\n- Send a reaction (:xep:`0444`) from this :term:`XMPP Entity`.\n-\n- :param legacy_msg_id: The message which the reaction refers to.\n- :param emojis: An iterable of emojis used as reactions\n- :param thread:\n-\n-\n-\n- .. py:method:: retract(legacy_msg_id, thread = None, **kwargs)\n-\n- Send a message retraction (:XEP:`0424`) from this :term:`XMPP Entity`.\n-\n- :param legacy_msg_id: Legacy ID of the message to delete\n- :param thread:\n-\n-\n-\n .. py:class:: LegacyMUC(session, legacy_id, jid)\n \n \n \n A room, a.k.a. a Multi-User Chat.\n \n MUC instances are obtained by calling :py:meth:`slidge.group.bookmarks.LegacyBookmarks`\n@@ -704,58 +485,7 @@\n The legacy module is responsible for updating :attr:`.subject` of this\n instance.\n \n :param subject: The new subject for this room.\n \n \n \n- .. py:property:: avatar_id\n- :type: Optional[slidge.util.types.AvatarIdType]\n-\n-\n- The unique ID of this entity's avatar.\n-\n-\n-\n- .. py:property:: avatar\n- :type: Optional[slidge.util.types.AvatarIdType]\n-\n-\n- This property can be used to set the avatar, but\n- :py:meth:`~.AvatarMixin.set_avatar()` should be preferred because you can\n- provide a unique ID for the avatar for efficient caching.\n- Setting this is OKish in case the avatar type is a URL or a local path\n- that can act as a legacy ID.\n-\n- Python's ``property`` is abused here to maintain backwards\n- compatibility, but when getting it you actually get the avatar legacy\n- ID.\n-\n-\n-\n- .. py:method:: set_avatar(a, avatar_unique_id = None, delete = False, blocking=False, cancel=True)\n- :async:\n-\n-\n- Set an avatar for this entity\n-\n- :param a: The avatar, in one of the types slidge supports\n- :param avatar_unique_id: A globally unique ID for the avatar on the\n- legacy network\n- :param delete: If the avatar is provided as a Path, whether to delete\n- it once used or not.\n- :param blocking: Internal use by slidge for tests, do not use!\n- :param cancel: Internal use by slidge, do not use!\n-\n-\n-\n- .. py:method:: available_emojis(legacy_msg_id = None)\n- :async:\n-\n-\n- Override this to restrict the subset of reactions this recipient\n- can handle.\n-\n- :return: A set of emojis or None if any emoji is allowed\n-\n-\n-\n"}, {"source1": "./usr/share/doc/python-slidge-doc/html/dev/api/slidge/group/index.html", "source2": "./usr/share/doc/python-slidge-doc/html/dev/api/slidge/group/index.html", "unified_diff": "@@ -469,295 +469,14 @@\n
\n
Parameters:
\n

reason (str | None)

\n
\n
\n \n \n-
\n-
\n-online(status=None, last_seen=None)\u00b6
\n-

Send an \u201conline\u201d presence from this contact to the user.

\n-
\n-
Parameters:
\n-
    \n-
  • status (Optional[str]) \u2013 Arbitrary text, details of the status, eg: \u201cListening to Britney Spears\u201d

  • \n-
  • last_seen (Optional[datetime.datetime]) \u2013 For XEP-0319

  • \n-
\n-
\n-
\n-
\n-\n-
\n-
\n-away(status=None, last_seen=None)\u00b6
\n-

Send an \u201caway\u201d presence from this contact to the user.

\n-

This is a global status, as opposed to LegacyContact.inactive()\n-which concerns a specific conversation, ie a specific \u201cchat window\u201d

\n-
\n-
Parameters:
\n-
    \n-
  • status (Optional[str]) \u2013 Arbitrary text, details of the status, eg: \u201cGone to fight capitalism\u201d

  • \n-
  • last_seen (Optional[datetime.datetime]) \u2013 For XEP-0319

  • \n-
\n-
\n-
\n-
\n-\n-
\n-
\n-extended_away(status=None, last_seen=None)\u00b6
\n-

Send an \u201cextended away\u201d presence from this contact to the user.

\n-

This is a global status, as opposed to LegacyContact.inactive()\n-which concerns a specific conversation, ie a specific \u201cchat window\u201d

\n-
\n-
Parameters:
\n-
    \n-
  • status (Optional[str]) \u2013 Arbitrary text, details of the status, eg: \u201cGone to fight capitalism\u201d

  • \n-
  • last_seen (Optional[datetime.datetime]) \u2013 For XEP-0319

  • \n-
\n-
\n-
\n-
\n-\n-
\n-
\n-busy(status=None, last_seen=None)\u00b6
\n-

Send a \u201cbusy\u201d (ie, \u201cdnd\u201d) presence from this contact to the user,

\n-
\n-
Parameters:
\n-
    \n-
  • status (Optional[str]) \u2013 eg: \u201cTrying to make sense of XEP-0100\u201d

  • \n-
  • last_seen (Optional[datetime.datetime]) \u2013 For XEP-0319

  • \n-
\n-
\n-
\n-
\n-\n-
\n-
\n-offline(status=None, last_seen=None)\u00b6
\n-

Send an \u201coffline\u201d presence from this contact to the user.

\n-
\n-
Parameters:
\n-
    \n-
  • status (Optional[str]) \u2013 eg: \u201cTrying to make sense of XEP-0100\u201d

  • \n-
  • last_seen (Optional[datetime.datetime]) \u2013 For XEP-0319

  • \n-
\n-
\n-
\n-
\n-\n-
\n-
\n-invite_to(muc, reason=None, password=None, **send_kwargs)\u00b6
\n-

Send an invitation to join a group (XEP-0249) from this XMPP Entity.

\n-
\n-
Parameters:
\n-
    \n-
  • muc (slidge.group.LegacyMUC) \u2013 the muc the user is invited to

  • \n-
  • reason (Optional[str]) \u2013 a text explaining why the user should join this muc

  • \n-
  • password (Optional[str]) \u2013 maybe this will make sense later? not sure

  • \n-
  • send_kwargs \u2013 additional kwargs to be passed to _send()\n-(internal use by slidge)

  • \n-
\n-
\n-
\n-
\n-\n-
\n-
\n-active(**kwargs)\u00b6
\n-

Send an \u201cactive\u201d chat state (XEP-0085) from this\n-XMPP Entity.

\n-
\n-\n-
\n-
\n-composing(**kwargs)\u00b6
\n-

Send a \u201ccomposing\u201d (ie \u201ctyping notification\u201d) chat state (XEP-0085)\n-from this XMPP Entity.

\n-
\n-\n-
\n-
\n-paused(**kwargs)\u00b6
\n-

Send a \u201cpaused\u201d (ie \u201ctyping paused notification\u201d) chat state\n-(XEP-0085) from this XMPP Entity.

\n-
\n-\n-
\n-
\n-inactive(**kwargs)\u00b6
\n-

Send an \u201cinactive\u201d (ie \u201ccontact has not interacted with the chat session\n-interface for an intermediate period of time\u201d) chat state (XEP-0085)\n-from this XMPP Entity.

\n-
\n-\n-
\n-
\n-gone(**kwargs)\u00b6
\n-

Send a \u201cgone\u201d (ie \u201ccontact has not interacted with the chat session interface,\n-system, or device for a relatively long period of time\u201d) chat state\n-(XEP-0085) from this XMPP Entity.

\n-
\n-\n-
\n-
\n-ack(legacy_msg_id, **kwargs)\u00b6
\n-

Send an \u201cacknowledged\u201d message marker (XEP-0333) from this XMPP Entity.

\n-
\n-
Parameters:
\n-

legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 The message this marker refers to

\n-
\n-
\n-
\n-\n-
\n-
\n-received(legacy_msg_id, **kwargs)\u00b6
\n-

Send a \u201creceived\u201d message marker (XEP-0333) from this XMPP Entity.\n-If called on a LegacyContact, also send a delivery receipt\n-marker (XEP-0184).

\n-
\n-
Parameters:
\n-

legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 The message this marker refers to

\n-
\n-
\n-
\n-\n-
\n-
\n-displayed(legacy_msg_id, **kwargs)\u00b6
\n-

Send a \u201cdisplayed\u201d message marker (XEP-0333) from this XMPP Entity.

\n-
\n-
Parameters:
\n-

legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 The message this marker refers to

\n-
\n-
\n-
\n-\n-
\n-
\n-async send_file(file_path=None, legacy_msg_id=None, *, async_data_stream=None, data_stream=None, data=None, file_url=None, file_name=None, content_type=None, reply_to=None, when=None, caption=None, legacy_file_id=None, thread=None, **kwargs)\u00b6
\n-

Send a single file from this XMPP Entity.

\n-
\n-
Parameters:
\n-
    \n-
  • file_path (Optional[Union[pathlib.Path, str]]) \u2013 Path to the attachment

  • \n-
  • async_data_stream (Optional[AsyncIterator[bytes]]) \u2013 Alternatively (and ideally) an AsyncIterator yielding bytes

  • \n-
  • data_stream (Optional[IO[bytes]]) \u2013 Alternatively, a stream of bytes (such as a File object)

  • \n-
  • data (Optional[bytes]) \u2013 Alternatively, a bytes object

  • \n-
  • file_url (Optional[str]) \u2013 Alternatively, a URL

  • \n-
  • file_name (Optional[str]) \u2013 How the file should be named.

  • \n-
  • content_type (Optional[str]) \u2013 MIME type, inferred from filename if not given

  • \n-
  • legacy_msg_id (Optional[slidge.util.types.LegacyMessageType]) \u2013 If you want to be able to transport read markers from the gateway\n-user to the legacy network, specify this

  • \n-
  • reply_to (Optional[slidge.util.types.MessageReference]) \u2013 Quote another message (XEP-0461)

  • \n-
  • when (Optional[datetime.datetime]) \u2013 when the file was sent, for a \u201cdelay\u201d tag (XEP-0203)

  • \n-
  • caption (Optional[str]) \u2013 an optional text that is linked to the file

  • \n-
  • legacy_file_id (Optional[Union[str, int]]) \u2013 A unique identifier for the file on the legacy network.\n-Plugins should try their best to provide it, to avoid duplicates.

  • \n-
  • thread (Optional[slidge.util.types.LegacyThreadType])

  • \n-
\n-
\n-
Return type:
\n-

tuple[Optional[str], list[slixmpp.Message]]

\n-
\n-
\n-
\n-\n-
\n-
\n-send_text(body, legacy_msg_id=None, *, when=None, reply_to=None, thread=None, hints=None, carbon=False, archive_only=False, correction=False, correction_event_id=None, link_previews=None, **send_kwargs)\u00b6
\n-

Send a text message from this XMPP Entity.

\n-
\n-
Parameters:
\n-
    \n-
  • body (str) \u2013 Content of the message

  • \n-
  • legacy_msg_id (Optional[slidge.util.types.LegacyMessageType]) \u2013 If you want to be able to transport read markers from the gateway\n-user to the legacy network, specify this

  • \n-
  • when (Optional[datetime.datetime]) \u2013 when the message was sent, for a \u201cdelay\u201d tag (XEP-0203)

  • \n-
  • reply_to (Optional[slidge.util.types.MessageReference]) \u2013 Quote another message (XEP-0461)

  • \n-
  • hints (Optional[Iterable[slidge.util.types.ProcessingHint]])

  • \n-
  • thread (Optional[slidge.util.types.LegacyThreadType])

  • \n-
  • carbon \u2013 (only used if called on a LegacyContact)\n-Set this to True if this is actually a message sent to the\n-LegacyContact by the User.\n-Use this to synchronize outgoing history for legacy official apps.

  • \n-
  • correction \u2013 whether this message is a correction or not

  • \n-
  • correction_event_id (Optional[slidge.util.types.LegacyMessageType]) \u2013 in the case where an ID is associated with the legacy\n-\u2018correction event\u2019, specify it here to use it on the XMPP side. If not specified,\n-a random ID will be used.

  • \n-
  • link_previews (Optional[list[slidge.util.types.LinkPreview]]) \u2013 A little of sender (or server, or gateway)-generated\n-previews of URLs linked in the body.

  • \n-
  • archive_only \u2013 (only in groups) Do not send this message to user,\n-but store it in the archive. Meant to be used during MUC.backfill()

  • \n-
\n-
\n-
\n-
\n-\n-
\n-
\n-correct(legacy_msg_id, new_text, *, when=None, reply_to=None, thread=None, hints=None, carbon=False, archive_only=False, correction_event_id=None, link_previews=None, **send_kwargs)\u00b6
\n-

Modify a message that was previously sent by this XMPP Entity.

\n-

Uses last message correction (XEP-0308)

\n-
\n-
Parameters:
\n-
    \n-
  • new_text (str) \u2013 New content of the message

  • \n-
  • legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 The legacy message ID of the message to correct

  • \n-
  • when (Optional[datetime.datetime]) \u2013 when the message was sent, for a \u201cdelay\u201d tag (XEP-0203)

  • \n-
  • reply_to (Optional[slidge.util.types.MessageReference]) \u2013 Quote another message (XEP-0461)

  • \n-
  • hints (Optional[Iterable[slidge.util.types.ProcessingHint]])

  • \n-
  • thread (Optional[slidge.util.types.LegacyThreadType])

  • \n-
  • carbon \u2013 (only in 1:1) Reflect a message sent to this Contact by the user.\n-Use this to synchronize outgoing history for legacy official apps.

  • \n-
  • archive_only \u2013 (only in groups) Do not send this message to user,\n-but store it in the archive. Meant to be used during MUC.backfill()

  • \n-
  • correction_event_id (Optional[slidge.util.types.LegacyMessageType]) \u2013 in the case where an ID is associated with the legacy\n-\u2018correction event\u2019, specify it here to use it on the XMPP side. If not specified,\n-a random ID will be used.

  • \n-
  • link_previews (Optional[list[slidge.util.types.LinkPreview]]) \u2013 A little of sender (or server, or gateway)-generated\n-previews of URLs linked in the body.

  • \n-
\n-
\n-
\n-
\n-\n-
\n-
\n-react(legacy_msg_id, emojis=(), thread=None, **kwargs)\u00b6
\n-

Send a reaction (XEP-0444) from this XMPP Entity.

\n-
\n-
Parameters:
\n-
    \n-
  • legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 The message which the reaction refers to.

  • \n-
  • emojis (Iterable[str]) \u2013 An iterable of emojis used as reactions

  • \n-
  • thread (Optional[slidge.util.types.LegacyThreadType])

  • \n-
\n-
\n-
\n-
\n-\n-
\n-
\n-retract(legacy_msg_id, thread=None, **kwargs)\u00b6
\n-

Send a message retraction (XEP-0424) from this XMPP Entity.

\n-
\n-
Parameters:
\n-
    \n-
  • legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 Legacy ID of the message to delete

  • \n-
  • thread (Optional[slidge.util.types.LegacyThreadType])

  • \n-
\n-
\n-
\n-
\n-\n \n \n
\n
\n class slidge.group.LegacyMUC(session, legacy_id, jid)\u00b6
\n

A room, a.k.a. a Multi-User Chat.

\n

MUC instances are obtained by calling slidge.group.bookmarks.LegacyBookmarks()\n@@ -1051,15 +770,15 @@\n the XMPP client, there is no guarantee that this is valid or\n correct.

\n \n
\n
Returns:
\n

A unique avatar identifier, which will trigger\n slidge.group.room.LegacyMUC.set_avatar(). Alternatively, None, if\n-LegacyMUC.set_avatar() is meant to be awaited somewhere else.

\n+LegacyMUC.set_avatar() is meant to be awaited somewhere else.

\n
\n
Return type:
\n

Optional[Union[int, str]]

\n
\n
\n \n \n@@ -1187,83 +906,14 @@\n \n
Return type:
\n

None

\n
\n \n \n \n-
\n-
\n-property avatar_id: slidge.util.types.AvatarIdType | None\u00b6
\n-

The unique ID of this entity\u2019s avatar.

\n-
\n-
Return type:
\n-

Optional[slidge.util.types.AvatarIdType]

\n-
\n-
\n-
\n-\n-
\n-
\n-property avatar: slidge.util.types.AvatarIdType | None\u00b6
\n-

This property can be used to set the avatar, but\n-set_avatar() should be preferred because you can\n-provide a unique ID for the avatar for efficient caching.\n-Setting this is OKish in case the avatar type is a URL or a local path\n-that can act as a legacy ID.

\n-

Python\u2019s property is abused here to maintain backwards\n-compatibility, but when getting it you actually get the avatar legacy\n-ID.

\n-
\n-
Return type:
\n-

Optional[slidge.util.types.AvatarIdType]

\n-
\n-
\n-
\n-\n-
\n-
\n-async set_avatar(a, avatar_unique_id=None, delete=False, blocking=False, cancel=True)\u00b6
\n-

Set an avatar for this entity

\n-
\n-
Parameters:
\n-
    \n-
  • a (Optional[slidge.util.types.AvatarType]) \u2013 The avatar, in one of the types slidge supports

  • \n-
  • avatar_unique_id (Optional[slidge.util.types.LegacyFileIdType]) \u2013 A globally unique ID for the avatar on the\n-legacy network

  • \n-
  • delete (bool) \u2013 If the avatar is provided as a Path, whether to delete\n-it once used or not.

  • \n-
  • blocking \u2013 Internal use by slidge for tests, do not use!

  • \n-
  • cancel \u2013 Internal use by slidge, do not use!

  • \n-
\n-
\n-
Return type:
\n-

None

\n-
\n-
\n-
\n-\n-
\n-
\n-async available_emojis(legacy_msg_id=None)\u00b6
\n-

Override this to restrict the subset of reactions this recipient\n-can handle.

\n-
\n-
Returns:
\n-

A set of emojis or None if any emoji is allowed

\n-
\n-
Parameters:
\n-

legacy_msg_id (Optional[slidge.util.types.LegacyMessageType])

\n-
\n-
Return type:
\n-

Optional[set[str]]

\n-
\n-
\n-
\n-\n \n \n \n \n \n \n \n@@ -1357,33 +1007,14 @@\n \n \n
  • LegacyParticipant\n
  • \n
  • LegacyMUC\n
  • \n \n \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -132,211 +132,14 @@\n Call this when the participant is kicked from the room\n Parameters:\n r\bre\bea\bas\bso\bon\bn (_\bs\bs_\bt\bt_\br\br |\b| N\bNo\bon\bne\be)\n ban(r\bre\bea\bas\bso\bon\bn=\b=N\bNo\bon\bne\be)_\b\u00b6\n Call this when the participant is banned from the room\n Parameters:\n r\bre\bea\bas\bso\bon\bn (_\bs\bs_\bt\bt_\br\br |\b| N\bNo\bon\bne\be)\n- online(s\bst\bta\bat\btu\bus\bs=\b=N\bNo\bon\bne\be, l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn=\b=N\bNo\bon\bne\be)_\b\u00b6\n- Send an \u201conline\u201d presence from this contact to the user.\n- Parameters:\n- * s\bst\bta\bat\btu\bus\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 Arbitrary text, details of the\n- status, eg: \u201cListening to Britney Spears\u201d\n- * l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 For _\bX_\bE_\bP_\b-_\b0_\b3_\b1_\b9\n- away(s\bst\bta\bat\btu\bus\bs=\b=N\bNo\bon\bne\be, l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn=\b=N\bNo\bon\bne\be)_\b\u00b6\n- Send an \u201caway\u201d presence from this contact to the user.\n- This is a global status, as opposed to _\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)\n- which concerns a specific conversation, ie a specific \u201cchat window\u201d\n- Parameters:\n- * s\bst\bta\bat\btu\bus\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 Arbitrary text, details of the\n- status, eg: \u201cGone to fight capitalism\u201d\n- * l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 For _\bX_\bE_\bP_\b-_\b0_\b3_\b1_\b9\n- extended_away(s\bst\bta\bat\btu\bus\bs=\b=N\bNo\bon\bne\be, l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn=\b=N\bNo\bon\bne\be)_\b\u00b6\n- Send an \u201cextended away\u201d presence from this contact to the user.\n- This is a global status, as opposed to _\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)\n- which concerns a specific conversation, ie a specific \u201cchat window\u201d\n- Parameters:\n- * s\bst\bta\bat\btu\bus\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 Arbitrary text, details of the\n- status, eg: \u201cGone to fight capitalism\u201d\n- * l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 For _\bX_\bE_\bP_\b-_\b0_\b3_\b1_\b9\n- busy(s\bst\bta\bat\btu\bus\bs=\b=N\bNo\bon\bne\be, l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn=\b=N\bNo\bon\bne\be)_\b\u00b6\n- Send a \u201cbusy\u201d (ie, \u201cdnd\u201d) presence from this contact to the user,\n- Parameters:\n- * s\bst\bta\bat\btu\bus\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 eg: \u201cTrying to make sense of\n- XEP-0100\u201d\n- * l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 For _\bX_\bE_\bP_\b-_\b0_\b3_\b1_\b9\n- offline(s\bst\bta\bat\btu\bus\bs=\b=N\bNo\bon\bne\be, l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn=\b=N\bNo\bon\bne\be)_\b\u00b6\n- Send an \u201coffline\u201d presence from this contact to the user.\n- Parameters:\n- * s\bst\bta\bat\btu\bus\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 eg: \u201cTrying to make sense of\n- XEP-0100\u201d\n- * l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 For _\bX_\bE_\bP_\b-_\b0_\b3_\b1_\b9\n- invite_to(m\bmu\buc\bc, r\bre\bea\bas\bso\bon\bn=\b=N\bNo\bon\bne\be, p\bpa\bas\bss\bsw\bwo\bor\brd\bd=\b=N\bNo\bon\bne\be, *\b**\b*s\bse\ben\bnd\bd_\b_k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n- Send an invitation to join a group (_\bX_\bE_\bP_\b-_\b0_\b2_\b4_\b9) from this _\bX_\bM_\bP_\bP\n- _\bE_\bn_\bt_\bi_\bt_\by.\n- Parameters:\n- * m\bmu\buc\bc (_\bs\bs_\bl\bl_\bi\bi_\bd\bd_\bg\bg_\be\be_\b.\b._\bg\bg_\br\br_\bo\bo_\bu\bu_\bp\bp_\b.\b._\bL\bL_\be\be_\bg\bg_\ba\ba_\bc\bc_\by\by_\bM\bM_\bU\bU_\bC\bC) \u2013 the muc the user is\n- invited to\n- * r\bre\bea\bas\bso\bon\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 a text explaining why the user\n- should join this muc\n- * p\bpa\bas\bss\bsw\bwo\bor\brd\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 maybe this will make sense\n- later? not sure\n- * s\bse\ben\bnd\bd_\b_k\bkw\bwa\bar\brg\bgs\bs \u2013 additional kwargs to be passed to _send()\n- (internal use by slidge)\n- active(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n- Send an \u201cactive\u201d chat state (_\bX_\bE_\bP_\b-_\b0_\b0_\b8_\b5) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n- composing(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n- Send a \u201ccomposing\u201d (ie \u201ctyping notification\u201d) chat state (_\bX_\bE_\bP_\b-_\b0_\b0_\b8_\b5)\n- from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n- paused(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n- Send a \u201cpaused\u201d (ie \u201ctyping paused notification\u201d) chat state (_\bX_\bE_\bP_\b-\n- _\b0_\b0_\b8_\b5) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n- inactive(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n- Send an \u201cinactive\u201d (ie \u201ccontact has not interacted with the chat\n- session interface for an intermediate period of time\u201d) chat state\n- (_\bX_\bE_\bP_\b-_\b0_\b0_\b8_\b5) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n- gone(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n- Send a \u201cgone\u201d (ie \u201ccontact has not interacted with the chat session\n- interface, system, or device for a relatively long period of time\u201d)\n- chat state (_\bX_\bE_\bP_\b-_\b0_\b0_\b8_\b5) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n- ack(l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n- Send an \u201cacknowledged\u201d message marker (_\bX_\bE_\bP_\b-_\b0_\b3_\b3_\b3) from this _\bX_\bM_\bP_\bP\n- _\bE_\bn_\bt_\bi_\bt_\by.\n- Parameters:\n- l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013 The\n- message this marker refers to\n- received(l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n- Send a \u201creceived\u201d message marker (_\bX_\bE_\bP_\b-_\b0_\b3_\b3_\b3) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n- If called on a LegacyContact, also send a delivery receipt marker\n- (_\bX_\bE_\bP_\b-_\b0_\b1_\b8_\b4).\n- Parameters:\n- l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013 The\n- message this marker refers to\n- displayed(l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n- Send a \u201cdisplayed\u201d message marker (_\bX_\bE_\bP_\b-_\b0_\b3_\b3_\b3) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n- Parameters:\n- l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013 The\n- message this marker refers to\n- a\bas\bsy\byn\bnc\bc send_file(f\bfi\bil\ble\be_\b_p\bpa\bat\bth\bh=\b=N\bNo\bon\bne\be, l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd=\b=N\bNo\bon\bne\be, *\b*,\n- a\bas\bsy\byn\bnc\bc_\b_d\bda\bat\bta\ba_\b_s\bst\btr\bre\bea\bam\bm=\b=N\bNo\bon\bne\be, d\bda\bat\bta\ba_\b_s\bst\btr\bre\bea\bam\bm=\b=N\bNo\bon\bne\be, d\bda\bat\bta\ba=\b=N\bNo\bon\bne\be, f\bfi\bil\ble\be_\b_u\bur\brl\bl=\b=N\bNo\bon\bne\be,\n- f\bfi\bil\ble\be_\b_n\bna\bam\bme\be=\b=N\bNo\bon\bne\be, c\bco\bon\bnt\bte\ben\bnt\bt_\b_t\bty\byp\bpe\be=\b=N\bNo\bon\bne\be, r\bre\bep\bpl\bly\by_\b_t\bto\bo=\b=N\bNo\bon\bne\be, w\bwh\bhe\ben\bn=\b=N\bNo\bon\bne\be,\n- c\bca\bap\bpt\bti\bio\bon\bn=\b=N\bNo\bon\bne\be, l\ble\beg\bga\bac\bcy\by_\b_f\bfi\bil\ble\be_\b_i\bid\bd=\b=N\bNo\bon\bne\be, t\bth\bhr\bre\bea\bad\bd=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n- Send a single file from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n- Parameters:\n- * f\bfi\bil\ble\be_\b_p\bpa\bat\bth\bh (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[U\bUn\bni\bio\bon\bn[\b[_\bp\bp_\ba\ba_\bt\bt_\bh\bh_\bl\bl_\bi\bi_\bb\bb_\b.\b._\bP\bP_\ba\ba_\bt\bt_\bh\bh,\b, _\bs\bs_\bt\bt_\br\br]\b]]\b]) \u2013 Path\n- to the attachment\n- * a\bas\bsy\byn\bnc\bc_\b_d\bda\bat\bta\ba_\b_s\bst\btr\bre\bea\bam\bm (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[A\bAs\bsy\byn\bnc\bcI\bIt\bte\ber\bra\bat\bto\bor\br[\b[_\bb\bb_\by\by_\bt\bt_\be\be_\bs\bs]\b]]\b]) \u2013\n- Alternatively (and ideally) an AsyncIterator yielding\n- bytes\n- * d\bda\bat\bta\ba_\b_s\bst\btr\bre\bea\bam\bm (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[I\bIO\bO[\b[_\bb\bb_\by\by_\bt\bt_\be\be_\bs\bs]\b]]\b]) \u2013 Alternatively, a\n- stream of bytes (such as a File object)\n- * d\bda\bat\bta\ba (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bb\bb_\by\by_\bt\bt_\be\be_\bs\bs]\b]) \u2013 Alternatively, a bytes object\n- * f\bfi\bil\ble\be_\b_u\bur\brl\bl (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 Alternatively, a URL\n- * f\bfi\bil\ble\be_\b_n\bna\bam\bme\be (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 How the file should be\n- named.\n- * c\bco\bon\bnt\bte\ben\bnt\bt_\b_t\bty\byp\bpe\be (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 MIME type, inferred from\n- filename if not given\n- * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl\n- [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be]\b]) \u2013 If you want to\n- be able to transport read markers from the gateway user\n- to the legacy network, specify this\n- * r\bre\bep\bpl\bly\by_\b_t\bto\bo (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.M\bMe\bes\bss\bsa\bag\bge\beR\bRe\bef\bfe\ber\bre\ben\bnc\bce\be]\b])\n- \u2013 Quote another message (_\bX_\bE_\bP_\b-_\b0_\b4_\b6_\b1)\n- * w\bwh\bhe\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 when the file was\n- sent, for a \u201cdelay\u201d tag (_\bX_\bE_\bP_\b-_\b0_\b2_\b0_\b3)\n- * c\bca\bap\bpt\bti\bio\bon\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 an optional text that is\n- linked to the file\n- * l\ble\beg\bga\bac\bcy\by_\b_f\bfi\bil\ble\be_\b_i\bid\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[U\bUn\bni\bio\bon\bn[\b[_\bs\bs_\bt\bt_\br\br,\b, _\bi\bi_\bn\bn_\bt\bt]\b]]\b]) \u2013 A unique\n- identifier for the file on the legacy network. Plugins\n- should try their best to provide it, to avoid\n- duplicates.\n- * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n- Return type:\n- _\bt_\bu_\bp_\bl_\be[Optional[_\bs_\bt_\br], _\bl_\bi_\bs_\bt[slixmpp.Message]]\n- send_text(b\bbo\bod\bdy\by, l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd=\b=N\bNo\bon\bne\be, *\b*, w\bwh\bhe\ben\bn=\b=N\bNo\bon\bne\be, r\bre\bep\bpl\bly\by_\b_t\bto\bo=\b=N\bNo\bon\bne\be,\n- t\bth\bhr\bre\bea\bad\bd=\b=N\bNo\bon\bne\be, h\bhi\bin\bnt\bts\bs=\b=N\bNo\bon\bne\be, c\bca\bar\brb\bbo\bon\bn=\b=F\bFa\bal\bls\bse\be, a\bar\brc\bch\bhi\biv\bve\be_\b_o\bon\bnl\bly\by=\b=F\bFa\bal\bls\bse\be,\n- c\bco\bor\brr\bre\bec\bct\bti\bio\bon\bn=\b=F\bFa\bal\bls\bse\be, c\bco\bor\brr\bre\bec\bct\bti\bio\bon\bn_\b_e\bev\bve\ben\bnt\bt_\b_i\bid\bd=\b=N\bNo\bon\bne\be, l\bli\bin\bnk\bk_\b_p\bpr\bre\bev\bvi\bie\bew\bws\bs=\b=N\bNo\bon\bne\be,\n- *\b**\b*s\bse\ben\bnd\bd_\b_k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n- Send a text message from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n- Parameters:\n- * b\bbo\bod\bdy\by (_\bs\bs_\bt\bt_\br\br) \u2013 Content of the message\n- * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl\n- [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be]\b]) \u2013 If you want to\n- be able to transport read markers from the gateway user\n- to the legacy network, specify this\n- * w\bwh\bhe\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 when the message\n- was sent, for a \u201cdelay\u201d tag (_\bX_\bE_\bP_\b-_\b0_\b2_\b0_\b3)\n- * r\bre\bep\bpl\bly\by_\b_t\bto\bo (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.M\bMe\bes\bss\bsa\bag\bge\beR\bRe\bef\bfe\ber\bre\ben\bnc\bce\be]\b])\n- \u2013 Quote another message (_\bX_\bE_\bP_\b-_\b0_\b4_\b6_\b1)\n- * h\bhi\bin\bnt\bts\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[I\bIt\bte\ber\bra\bab\bbl\ble\be\n- [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.P\bPr\bro\boc\bce\bes\bss\bsi\bin\bng\bgH\bHi\bin\bnt\bt]\b]]\b])\n- * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n- * c\bca\bar\brb\bbo\bon\bn \u2013 (only used if called on a LegacyContact) Set\n- this to True if this is actually a message sent t\bto\bo the\n- LegacyContact by the _\bU_\bs_\be_\br. Use this to synchronize\n- outgoing history for legacy official apps.\n- * c\bco\bor\brr\bre\bec\bct\bti\bio\bon\bn \u2013 whether this message is a correction or\n- not\n- * c\bco\bor\brr\bre\bec\bct\bti\bio\bon\bn_\b_e\bev\bve\ben\bnt\bt_\b_i\bid\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl\n- [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be]\b]) \u2013 in the case\n- where an ID is associated with the legacy \u2018correction\n- event\u2019, specify it here to use it on the XMPP side. If\n- not specified, a random ID will be used.\n- * l\bli\bin\bnk\bk_\b_p\bpr\bre\bev\bvi\bie\bew\bws\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bl\bl_\bi\bi_\bs\bs_\bt\bt\n- [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLi\bin\bnk\bkP\bPr\bre\bev\bvi\bie\bew\bw]\b]]\b]) \u2013 A little of sender\n- (or server, or gateway)-generated previews of URLs\n- linked in the body.\n- * a\bar\brc\bch\bhi\biv\bve\be_\b_o\bon\bnl\bly\by \u2013 (only in groups) Do not send this\n- message to user, but store it in the archive. Meant to\n- be used during MUC.backfill()\n- correct(l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, n\bne\bew\bw_\b_t\bte\bex\bxt\bt, *\b*, w\bwh\bhe\ben\bn=\b=N\bNo\bon\bne\be, r\bre\bep\bpl\bly\by_\b_t\bto\bo=\b=N\bNo\bon\bne\be,\n- t\bth\bhr\bre\bea\bad\bd=\b=N\bNo\bon\bne\be, h\bhi\bin\bnt\bts\bs=\b=N\bNo\bon\bne\be, c\bca\bar\brb\bbo\bon\bn=\b=F\bFa\bal\bls\bse\be, a\bar\brc\bch\bhi\biv\bve\be_\b_o\bon\bnl\bly\by=\b=F\bFa\bal\bls\bse\be,\n- c\bco\bor\brr\bre\bec\bct\bti\bio\bon\bn_\b_e\bev\bve\ben\bnt\bt_\b_i\bid\bd=\b=N\bNo\bon\bne\be, l\bli\bin\bnk\bk_\b_p\bpr\bre\bev\bvi\bie\bew\bws\bs=\b=N\bNo\bon\bne\be, *\b**\b*s\bse\ben\bnd\bd_\b_k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n- Modify a message that was previously sent by this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n- Uses last message correction (_\bX_\bE_\bP_\b-_\b0_\b3_\b0_\b8)\n- Parameters:\n- * n\bne\bew\bw_\b_t\bte\bex\bxt\bt (_\bs\bs_\bt\bt_\br\br) \u2013 New content of the message\n- * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013\n- The legacy message ID of the message to correct\n- * w\bwh\bhe\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 when the message\n- was sent, for a \u201cdelay\u201d tag (_\bX_\bE_\bP_\b-_\b0_\b2_\b0_\b3)\n- * r\bre\bep\bpl\bly\by_\b_t\bto\bo (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.M\bMe\bes\bss\bsa\bag\bge\beR\bRe\bef\bfe\ber\bre\ben\bnc\bce\be]\b])\n- \u2013 Quote another message (_\bX_\bE_\bP_\b-_\b0_\b4_\b6_\b1)\n- * h\bhi\bin\bnt\bts\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[I\bIt\bte\ber\bra\bab\bbl\ble\be\n- [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.P\bPr\bro\boc\bce\bes\bss\bsi\bin\bng\bgH\bHi\bin\bnt\bt]\b]]\b])\n- * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n- * c\bca\bar\brb\bbo\bon\bn \u2013 (only in 1:1) Reflect a message sent to this\n- Contact by the user. Use this to synchronize outgoing\n- history for legacy official apps.\n- * a\bar\brc\bch\bhi\biv\bve\be_\b_o\bon\bnl\bly\by \u2013 (only in groups) Do not send this\n- message to user, but store it in the archive. Meant to\n- be used during MUC.backfill()\n- * c\bco\bor\brr\bre\bec\bct\bti\bio\bon\bn_\b_e\bev\bve\ben\bnt\bt_\b_i\bid\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl\n- [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be]\b]) \u2013 in the case\n- where an ID is associated with the legacy \u2018correction\n- event\u2019, specify it here to use it on the XMPP side. If\n- not specified, a random ID will be used.\n- * l\bli\bin\bnk\bk_\b_p\bpr\bre\bev\bvi\bie\bew\bws\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bl\bl_\bi\bi_\bs\bs_\bt\bt\n- [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLi\bin\bnk\bkP\bPr\bre\bev\bvi\bie\bew\bw]\b]]\b]) \u2013 A little of sender\n- (or server, or gateway)-generated previews of URLs\n- linked in the body.\n- react(l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, e\bem\bmo\boj\bji\bis\bs=\b=(\b()\b), t\bth\bhr\bre\bea\bad\bd=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n- Send a reaction (_\bX_\bE_\bP_\b-_\b0_\b4_\b4_\b4) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n- Parameters:\n- * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013\n- The message which the reaction refers to.\n- * e\bem\bmo\boj\bji\bis\bs (I\bIt\bte\ber\bra\bab\bbl\ble\be[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 An iterable of emojis used as\n- reactions\n- * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n- retract(l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, t\bth\bhr\bre\bea\bad\bd=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n- Send a message retraction (_\bX_\bE_\bP_\b-_\b0_\b4_\b2_\b4) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n- Parameters:\n- * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013\n- Legacy ID of the message to delete\n- * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n c\bcl\bla\bas\bss\bs slidge.group.LegacyMUC(s\bse\bes\bss\bsi\bio\bon\bn, l\ble\beg\bga\bac\bcy\by_\b_i\bid\bd, j\bji\bid\bd)_\b\u00b6\n A room, a.k.a. a Multi-User Chat.\n MUC instances are obtained by calling\n slidge.group.bookmarks.LegacyBookmarks() on the user\u2019s\n slidge.core.session.BaseSession.\n Parameters:\n * s\bse\bes\bss\bsi\bio\bon\bn (s\bsl\bli\bid\bdg\bge\be.\b.c\bco\bor\bre\be.\b.s\bse\bes\bss\bsi\bio\bon\bn.\b.B\bBa\bas\bse\beS\bSe\bes\bss\bsi\bio\bon\bn)\n@@ -518,15 +321,15 @@\n meant to remove the avatar\n * m\bmi\bim\bme\be (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 the mime type of the image.\n Since this is provided by the XMPP client, there is no\n guarantee that this is valid or correct.\n Returns:\n A unique avatar identifier, which will trigger\n slidge.group.room.LegacyMUC.set_avatar(). Alternatively,\n- None, if _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bs_\be_\bt_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b) is meant to be awaited\n+ None, if LegacyMUC.set_avatar() is meant to be awaited\n somewhere else.\n Return type:\n Optional[Union[_\bi_\bn_\bt, _\bs_\bt_\br]]\n a\bab\bbs\bst\btr\bra\bac\bct\bt on_set_affiliation(c\bco\bon\bnt\bta\bac\bct\bt, a\baf\bff\bfi\bil\bli\bia\bat\bti\bio\bon\bn, r\bre\bea\bas\bso\bon\bn, n\bni\bic\bck\bkn\bna\bam\bme\be)_\b\u00b6\n Async:\n Parameters:\n * c\bco\bon\bnt\bta\bac\bct\bt (s\bsl\bli\bid\bdg\bge\be.\b.c\bco\bon\bnt\bta\bac\bct\bt.\b.c\bco\bon\bnt\bta\bac\bct\bt.\b.L\bLe\beg\bga\bac\bcy\byC\bCo\bon\bnt\bta\bac\bct\bt)\n@@ -587,53 +390,14 @@\n Triggered when the user requests changing the room subject.\n The legacy module is responsible for updating subject of this\n instance.\n Parameters:\n s\bsu\bub\bbj\bje\bec\bct\bt (_\bs\bs_\bt\bt_\br\br) \u2013 The new subject for this room.\n Return type:\n None\n- p\bpr\bro\bop\bpe\ber\brt\bty\by avatar_id:\b: s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.A\bAv\bva\bat\bta\bar\brI\bId\bdT\bTy\byp\bpe\be |\b| _\bN\bN_\bo\bo_\bn\bn_\be\be_\b\u00b6\n- The unique ID of this entity\u2019s avatar.\n- Return type:\n- Optional[slidge.util.types.AvatarIdType]\n- p\bpr\bro\bop\bpe\ber\brt\bty\by avatar:\b: s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.A\bAv\bva\bat\bta\bar\brI\bId\bdT\bTy\byp\bpe\be |\b| _\bN\bN_\bo\bo_\bn\bn_\be\be_\b\u00b6\n- This property can be used to set the avatar, but set_avatar()\n- should be preferred because you can provide a unique ID for the\n- avatar for efficient caching. Setting this is OKish in case the\n- avatar type is a URL or a local path that can act as a legacy ID.\n- Python\u2019s property is abused here to maintain backwards\n- compatibility, but when getting it you actually get the avatar\n- legacy ID.\n- Return type:\n- Optional[slidge.util.types.AvatarIdType]\n- a\bas\bsy\byn\bnc\bc set_avatar(a\ba, a\bav\bva\bat\bta\bar\br_\b_u\bun\bni\biq\bqu\bue\be_\b_i\bid\bd=\b=N\bNo\bon\bne\be, d\bde\bel\ble\bet\bte\be=\b=F\bFa\bal\bls\bse\be,\n- b\bbl\blo\boc\bck\bki\bin\bng\bg=\b=F\bFa\bal\bls\bse\be, c\bca\ban\bnc\bce\bel\bl=\b=T\bTr\bru\bue\be)_\b\u00b6\n- Set an avatar for this entity\n- Parameters:\n- * a\ba (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.A\bAv\bva\bat\bta\bar\brT\bTy\byp\bpe\be]\b]) \u2013 The\n- avatar, in one of the types slidge supports\n- * a\bav\bva\bat\bta\bar\br_\b_u\bun\bni\biq\bqu\bue\be_\b_i\bid\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl\n- [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byF\bFi\bil\ble\beI\bId\bdT\bTy\byp\bpe\be]\b]) \u2013 A globally\n- unique ID for the avatar on the legacy network\n- * d\bde\bel\ble\bet\bte\be (_\bb\bb_\bo\bo_\bo\bo_\bl\bl) \u2013 If the avatar is provided as a Path,\n- whether to delete it once used or not.\n- * b\bbl\blo\boc\bck\bki\bin\bng\bg \u2013 Internal use by slidge for tests, do not\n- use!\n- * c\bca\ban\bnc\bce\bel\bl \u2013 Internal use by slidge, do not use!\n- Return type:\n- None\n- a\bas\bsy\byn\bnc\bc available_emojis(l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd=\b=N\bNo\bon\bne\be)_\b\u00b6\n- Override this to restrict the subset of reactions this recipient\n- can handle.\n- Returns:\n- A set of emojis or None if any emoji is allowed\n- Parameters:\n- l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be]\b])\n- Return type:\n- Optional[_\bs_\be_\bt[_\bs_\bt_\br]]\n _\bN_\be_\bx_\bt\n _\bs_\bl_\bi_\bd_\bg_\be_\b._\bm_\ba_\bi_\bn\n _\bP_\br_\be_\bv_\bi_\bo_\bu_\bs\n _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt\n Copyright \u00a9 2025, the slidge contributors\n Made with _\bS_\bp_\bh_\bi_\bn_\bx and _\b@_\bp_\br_\ba_\bd_\by_\bu_\bn_\bs_\bg's _\bF_\bu_\br_\bo\n On this page\n@@ -650,33 +414,14 @@\n # _\bL_\be_\bg_\ba_\bc_\by_\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b._\bf_\bi_\bl_\bl_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b._\br_\be_\bm_\bo_\bv_\be_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b__\bp_\br_\be_\bs_\be_\bn_\bc_\be_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bl_\be_\ba_\bv_\be_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bk_\bi_\bc_\bk_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bb_\ba_\bn_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bo_\bn_\bl_\bi_\bn_\be_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\ba_\bw_\ba_\by_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\be_\bx_\bt_\be_\bn_\bd_\be_\bd_\b__\ba_\bw_\ba_\by_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bb_\bu_\bs_\by_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bo_\bf_\bf_\bl_\bi_\bn_\be_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bi_\bn_\bv_\bi_\bt_\be_\b__\bt_\bo_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bc_\bo_\bm_\bp_\bo_\bs_\bi_\bn_\bg_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bp_\ba_\bu_\bs_\be_\bd_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bg_\bo_\bn_\be_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\ba_\bc_\bk_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\br_\be_\bc_\be_\bi_\bv_\be_\bd_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bd_\bi_\bs_\bp_\bl_\ba_\by_\be_\bd_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bf_\bi_\bl_\be_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bt_\be_\bx_\bt_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bc_\bo_\br_\br_\be_\bc_\bt_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\br_\be_\ba_\bc_\bt_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\br_\be_\bt_\br_\ba_\bc_\bt_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bS_\bT_\bA_\bB_\bL_\bE_\b__\bA_\bR_\bC_\bH_\bI_\bV_\bE\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bK_\bE_\bE_\bP_\b__\bB_\bA_\bC_\bK_\bF_\bI_\bL_\bL_\bE_\bD_\b__\bP_\bA_\bR_\bT_\bI_\bC_\bI_\bP_\bA_\bN_\bT_\bS\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bH_\bA_\bS_\b__\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bH_\bA_\bS_\b__\bS_\bU_\bB_\bJ_\bE_\bC_\bT\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bu_\bp_\bd_\ba_\bt_\be_\b__\bi_\bn_\bf_\bo_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bb_\ba_\bc_\bk_\bf_\bi_\bl_\bl_\b(_\b)\n@@ -690,11 +435,7 @@\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bd_\bd_\b__\bt_\bo_\b__\bb_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bs_\be_\bt_\b__\ba_\bf_\bf_\bi_\bl_\bi_\ba_\bt_\bi_\bo_\bn_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bk_\bi_\bc_\bk_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bs_\be_\bt_\b__\bc_\bo_\bn_\bf_\bi_\bg_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bd_\be_\bs_\bt_\br_\bo_\by_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bs_\be_\bt_\b__\bs_\bu_\bb_\bj_\be_\bc_\bt_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bv_\ba_\bt_\ba_\br_\b__\bi_\bd\n- # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bv_\ba_\bt_\ba_\br\n- # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bs_\be_\bt_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b__\be_\bm_\bo_\bj_\bi_\bs_\b(_\b)\n"}]}, {"source1": "./usr/share/doc/python-slidge-doc/html/dev/api/slidge/index.html", "source2": "./usr/share/doc/python-slidge-doc/html/dev/api/slidge/index.html", "unified_diff": "@@ -1031,15 +1031,15 @@\n \n \n

    Triggered when the user reads a message in a legacy chat. (XEP-0333)

    \n

    This is only possible if a valid legacy_msg_id was passed when\n transmitting a message from a legacy chat to the user, eg in\n slidge.contact.LegacyContact.send_text()\n or\n-slidge.group.LegacyParticipant.send_text().

    \n+slidge.group.LegacyParticipant.send_text().

    \n
    \n
    Parameters:
    \n
      \n
    • chat (slidge.util.types.RecipientType) \u2013 See BaseSession.on_text()

    • \n
    • legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 Identifier of the message/

    • \n
    • thread (Optional[slidge.util.types.LegacyThreadType])

    • \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -496,15 +496,15 @@\n * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be)\n * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n Triggered when the user reads a message in a legacy chat. (_\bX_\bE_\bP_\b-\n _\b0_\b3_\b3_\b3)\n This is only possible if a valid legacy_msg_id was passed when\n transmitting a message from a legacy chat to the user, eg in\n _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bs_\be_\bn_\bd_\b__\bt_\be_\bx_\bt_\b(_\b) or\n- _\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bt_\be_\bx_\bt_\b(_\b).\n+ slidge.group.LegacyParticipant.send_text().\n Parameters:\n * c\bch\bha\bat\bt (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.R\bRe\bec\bci\bip\bpi\bie\ben\bnt\btT\bTy\byp\bpe\be) \u2013 See\n _\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b._\bo_\bn_\b__\bt_\be_\bx_\bt_\b(_\b)\n * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013\n Identifier of the message/\n * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n a\bab\bbs\bst\btr\bra\bac\bct\bt on_correct(c\bch\bha\bat\bt, t\bte\bex\bxt\bt, l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, *\b*, t\bth\bhr\bre\bea\bad\bd=\b=N\bNo\bon\bne\be,\n"}]}, {"source1": "./usr/share/doc/python-slidge-doc/html/dev/api/superduper/group/index.html", "source2": "./usr/share/doc/python-slidge-doc/html/dev/api/superduper/group/index.html", "unified_diff": "@@ -657,15 +657,15 @@\n the XMPP client, there is no guarantee that this is valid or\n correct.

    \n \n
    \n
    Returns:
    \n

    A unique avatar identifier, which will trigger\n slidge.group.room.LegacyMUC.set_avatar(). Alternatively, None, if\n-LegacyMUC.set_avatar() is meant to be awaited somewhere else.

    \n+LegacyMUC.set_avatar() is meant to be awaited somewhere else.

    \n
    \n
    Return type:
    \n

    Optional[Union[int, str]]

    \n
    \n
    \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -270,15 +270,15 @@\n meant to remove the avatar\n * m\bmi\bim\bme\be (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 the mime type of the image.\n Since this is provided by the XMPP client, there is no\n guarantee that this is valid or correct.\n Returns:\n A unique avatar identifier, which will trigger\n slidge.group.room.LegacyMUC.set_avatar(). Alternatively,\n- None, if _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bs_\be_\bt_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b) is meant to be awaited\n+ None, if LegacyMUC.set_avatar() is meant to be awaited\n somewhere else.\n Return type:\n Optional[Union[_\bi_\bn_\bt, _\bs_\bt_\br]]\n a\bab\bbs\bst\btr\bra\bac\bct\bt on_set_affiliation(c\bco\bon\bnt\bta\bac\bct\bt, a\baf\bff\bfi\bil\bli\bia\bat\bti\bio\bon\bn, r\bre\bea\bas\bso\bon\bn, n\bni\bic\bck\bkn\bna\bam\bme\be)_\b\u00b6\n Async:\n Parameters:\n * c\bco\bon\bnt\bta\bac\bct\bt (s\bsl\bli\bid\bdg\bge\be.\b.c\bco\bon\bnt\bta\bac\bct\bt.\b.c\bco\bon\bnt\bta\bac\bct\bt.\b.L\bLe\beg\bga\bac\bcy\byC\bCo\bon\bnt\bta\bac\bct\bt)\n"}]}, {"source1": "./usr/share/doc/python-slidge-doc/html/dev/api/superduper/session/index.html", "source2": "./usr/share/doc/python-slidge-doc/html/dev/api/superduper/session/index.html", "unified_diff": "@@ -600,15 +600,15 @@\n \n \n

    Triggered when the user reads a message in a legacy chat. (XEP-0333)

    \n

    This is only possible if a valid legacy_msg_id was passed when\n transmitting a message from a legacy chat to the user, eg in\n slidge.contact.LegacyContact.send_text()\n or\n-slidge.group.LegacyParticipant.send_text().

    \n+slidge.group.LegacyParticipant.send_text().

    \n
    \n
    Parameters:
    \n
      \n
    • chat (slidge.util.types.RecipientType) \u2013 See BaseSession.on_text()

    • \n
    • legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 Identifier of the message/

    • \n
    • thread (Optional[slidge.util.types.LegacyThreadType])

    • \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -240,15 +240,15 @@\n * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be)\n * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n Triggered when the user reads a message in a legacy chat. (_\bX_\bE_\bP_\b-\n _\b0_\b3_\b3_\b3)\n This is only possible if a valid legacy_msg_id was passed when\n transmitting a message from a legacy chat to the user, eg in\n _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bs_\be_\bn_\bd_\b__\bt_\be_\bx_\bt_\b(_\b) or\n- _\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bt_\be_\bx_\bt_\b(_\b).\n+ slidge.group.LegacyParticipant.send_text().\n Parameters:\n * c\bch\bha\bat\bt (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.R\bRe\bec\bci\bip\bpi\bie\ben\bnt\btT\bTy\byp\bpe\be) \u2013 See\n _\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b._\bo_\bn_\b__\bt_\be_\bx_\bt_\b(_\b)\n * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013\n Identifier of the message/\n * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n a\bab\bbs\bst\btr\bra\bac\bct\bt on_correct(c\bch\bha\bat\bt, t\bte\bex\bxt\bt, l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, *\b*, t\bth\bhr\bre\bea\bad\bd=\b=N\bNo\bon\bne\be,\n"}]}, {"source1": "./usr/share/doc/python-slidge-doc/html/genindex.html", "source2": "./usr/share/doc/python-slidge-doc/html/genindex.html", "unified_diff": "@@ -393,80 +393,68 @@\n
  • accept_friend_request() (slidge.contact.LegacyContact method)\n
  • \n
  • ACCESS (slidge.command.Command attribute)\n
  • \n
  • ack() (slidge.contact.LegacyContact method)\n \n
  • \n
  • active() (slidge.contact.LegacyContact method)\n \n
  • \n
  • Ad-hoc Command\n
  • \n+ \n+ \n- \n \n \n \n@@ -507,16 +495,14 @@\n
  • BaseSession (class in slidge)\n
  • \n
  • Bookmarks (class in superduper.group)\n
  • \n
  • busy() (slidge.contact.LegacyContact method)\n \n
  • \n
  • by_legacy_id() (slidge.contact.LegacyRoster method)\n
  • \n \n \n@@ -574,16 +560,14 @@\n \n
  • composing() (slidge.contact.LegacyContact method)\n \n
  • \n
  • confirm_qr() (slidge.BaseGateway method)\n \n@@ -592,16 +576,14 @@\n
  • \n \n
  • Confirmation (class in slidge.command)\n
  • \n
  • correct() (slidge.contact.LegacyContact method)\n \n
  • \n \n \n@@ -613,19 +595,19 @@\n \n+ \n \n@@ -638,23 +620,21 @@\n
  • \n e91195719c2c_store_users_avatars_persistently\n \n
  • \n-
  • entrypoint() (in module slidge)\n-
  • \n \n \n \n \n \n@@ -747,16 +727,14 @@\n \n
  • (slidge.command.TableResult method)\n
  • \n \n
  • gone() (slidge.contact.LegacyContact method)\n \n
  • \n
  • GROUP (slidge.group.MucType attribute)\n
  • \n@@ -799,16 +777,14 @@\n \n \n
    \n
      \n
    • invite_to() (slidge.contact.LegacyContact method)\n \n
    • \n
    • items (slidge.command.SearchResult attribute)\n \n@@ -1076,16 +1050,14 @@\n \n \n
      \n \n \n@@ -1252,16 +1222,14 @@\n \n \n
        \n@@ -1294,26 +1262,22 @@\n \n \n- \n+ \n
        \n
      • REGISTRATION_TYPE (slidge.BaseGateway attribute)\n \n
      • \n-
        \n
      • send_text() (slidge.contact.LegacyContact method)\n \n
      • \n
      • Session (class in superduper.session)\n
      • \n
      • set_avatar() (slidge.contact.LegacyContact method)\n \n
      • \n
          \n
        • SigTermInterrupt\n
        • \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -59,97 +59,99 @@\n * 2461390c0af2_store_contacts_caps_verstring_in_db * 82a4af84b679_add_muc_history_filled\n o _\bm_\bo_\bd_\bu_\bl_\be o _\bm_\bo_\bd_\bu_\bl_\be\n * 29f5280c61aa_store_subject_setter_in_room * 8b993243a536_add_vcard_content_to_contact_table\n o _\bm_\bo_\bd_\bu_\bl_\be o _\bm_\bo_\bd_\bu_\bl_\be\n * 2b1f45ab7379_store_room_subject_setter_by_nickname * 8d2ced764698_rely_on_db_to_store_contacts_rooms_and_\n o _\bm_\bo_\bd_\bu_\bl_\be o _\bm_\bo_\bd_\bu_\bl_\be\n *\b**\b**\b**\b**\b* A\bA *\b**\b**\b**\b**\b*\n- * aa9d82a7f6ef_db_creation * _\ba_\bd_\bd_\b__\bt_\bo_\b__\br_\bo_\bs_\bt_\be_\br_\b(_\b)_\b \n- o _\bm_\bo_\bd_\bu_\bl_\be _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * abba1ae0edb3_store_avatar_legacy_id_in_the_contact_ * _\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b__\be_\bm_\bo_\bj_\bi_\bs_\b(_\b)_\b \n- o _\bm_\bo_\bd_\bu_\bl_\be _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\ba_\bc_\bc_\be_\bp_\bt_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bA_\bC_\bC_\bE_\bS_\bS_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bA\bA_\bv\bv_\ba\ba_\bt\bt_\ba\ba_\br\br\n- * _\ba_\bc_\bk_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bv_\ba_\bt_\ba_\br_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n- * _\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bv_\ba_\bt_\ba_\br_\b__\bi_\bd_\b \n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n- * _\bA\bA_\bd\bd_\b-\b-_\bh\bh_\bo\bo_\bc\bc_\b _\bC\bC_\bo\bo_\bm\bm_\bm\bm_\ba\ba_\bn\bn_\bd\bd o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n- * _\ba_\bd_\bd_\b__\bt_\bo_\b__\bb_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n+ * aa9d82a7f6ef_db_creation * _\ba_\bd_\bd_\b__\bt_\bo_\b__\bb_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b(_\b)_\b \n+ o _\bm_\bo_\bd_\bu_\bl_\be _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * abba1ae0edb3_store_avatar_legacy_id_in_the_contact_ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\bm_\bo_\bd_\bu_\bl_\be * _\ba_\bd_\bd_\b__\bt_\bo_\b__\br_\bo_\bs_\bt_\be_\br_\b(_\b)_\b \n+ * _\ba_\bc_\bc_\be_\bp_\bt_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bA_\bC_\bC_\bE_\bS_\bS_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b__\be_\bm_\bo_\bj_\bi_\bs_\b(_\b)_\b \n+ * _\ba_\bc_\bk_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bA\bA_\bv\bv_\ba\ba_\bt\bt_\ba\ba_\br\br\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bv_\ba_\bt_\ba_\br_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ * _\bA\bA_\bd\bd_\b-\b-_\bh\bh_\bo\bo_\bc\bc_\b _\bC\bC_\bo\bo_\bm\bm_\bm\bm_\ba\ba_\bn\bn_\bd\bd _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n+ _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n+ * _\ba_\bv_\ba_\bt_\ba_\br_\b__\bi_\bd_\b \n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n+ _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n * _\bA_\bV_\bA_\bT_\bA_\bR_\b__\bI_\bD_\b__\bT_\bY_\bP_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\ba_\bw_\ba_\by_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ * _\ba_\bw_\ba_\by_\b(_\b)_\b \n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* B\bB *\b**\b**\b**\b**\b*\n * b33993e87db3_move_everything_to_persistent_db * _\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bl_\bi_\bd_\bg_\be_\b)\n o _\bm_\bo_\bd_\bu_\bl_\be * _\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bl_\bi_\bd_\bg_\be_\b)\n- * b64b1a793483_add_source_and_legacy_id_for_archived_ * _\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b)\n- o _\bm_\bo_\bd_\bu_\bl_\be * _\bb_\bu_\bs_\by_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n- * _\bb_\ba_\bc_\bk_\bf_\bi_\bl_\bl_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- * _\bb_\ba_\bn_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * b64b1a793483_add_source_and_legacy_id_for_archived_ * _\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bm_\bo_\bd_\bu_\bl_\be _\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b)\n+ * _\bb_\ba_\bc_\bk_\bf_\bi_\bl_\bl_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bb_\bu_\bs_\by_\b(_\b)_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ * _\bb_\ba_\bn_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n * _\bb_\by_\b__\bl_\be_\bg_\ba_\bc_\by_\b__\bi_\bd_\b(_\b)_\b \n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bR_\bo_\bs_\bt_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bR_\bo_\bs_\bt_\be_\br\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* C\bC *\b**\b**\b**\b**\b*\n * c4a8ec35a0e8_per_room_user_nick * _\bC_\bO_\bM_\bP_\bO_\bN_\bE_\bN_\bT_\b__\bN_\bA_\bM_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n o _\bm_\bo_\bd_\bu_\bl_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n * _\bC\bC_\ba\ba_\br\br_\bb\bb_\bo\bo_\bn\bn_\bs\bs o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n * _\bC_\bA_\bT_\bE_\bG_\bO_\bR_\bY_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bC_\bO_\bM_\bP_\bO_\bN_\bE_\bN_\bT_\b__\bT_\bY_\bP_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n * _\bC_\bH_\bA_\bN_\bN_\bE_\bL_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bu_\bc_\bT_\by_\bp_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n * _\bC_\bH_\bA_\bN_\bN_\bE_\bL_\b__\bN_\bO_\bN_\b__\bA_\bN_\bO_\bN_\bY_\bM_\bO_\bU_\bS_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bu_\bc_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bc_\bo_\bm_\bp_\bo_\bs_\bi_\bn_\bg_\b(_\b)_\b \n- * _\bC_\bH_\bA_\bT_\b__\bC_\bO_\bM_\bM_\bA_\bN_\bD_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bC\bC_\bh\bh_\ba\ba_\bt\bt_\bb\bb_\bo\bo_\bt\bt_\b _\bC\bC_\bo\bo_\bm\bm_\bm\bm_\ba\ba_\bn\bn_\bd\bd o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n- * _\bc_\bl_\bi_\be_\bn_\bt_\b__\bt_\by_\bp_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bC\bC_\bo\bo_\bm\bm_\bm\bm_\ba\ba_\bn\bn_\bd\bd * _\bc_\bo_\bn_\bf_\bi_\br_\bm_\b__\bq_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bC_\bo_\bm_\bm_\ba_\bn_\bd_\bA_\bc_\bc_\be_\bs_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n- _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bC_\bO_\bM_\bP_\bO_\bN_\bE_\bN_\bT_\b__\bA_\bV_\bA_\bT_\bA_\bR_\b * _\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by * _\bc_\bo_\br_\br_\be_\bc_\bt_\b(_\b)_\b \n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bC_\bH_\bA_\bT_\b__\bC_\bO_\bM_\bM_\bA_\bN_\bD_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ * _\bC\bC_\bh\bh_\ba\ba_\bt\bt_\bb\bb_\bo\bo_\bt\bt_\b _\bC\bC_\bo\bo_\bm\bm_\bm\bm_\ba\ba_\bn\bn_\bd\bd _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bc_\bl_\bi_\be_\bn_\bt_\b__\bt_\by_\bp_\be_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b) * _\bc_\bo_\bn_\bf_\bi_\br_\bm_\b__\bq_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n+ * _\bC\bC_\bo\bo_\bm\bm_\bm\bm_\ba\ba_\bn\bn_\bd\bd _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ * _\bC_\bo_\bm_\bm_\ba_\bn_\bd_\bA_\bc_\bc_\be_\bs_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b) * _\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bC_\bO_\bM_\bP_\bO_\bN_\bE_\bN_\bT_\b__\bA_\bV_\bA_\bT_\bA_\bR_\b _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bc_\bo_\br_\br_\be_\bc_\bt_\b(_\b)_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* D\bD *\b**\b**\b**\b**\b*\n- * _\bd_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bT_\ba_\bb_\bl_\be_\bR_\be_\bs_\bu_\bl_\bt_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bd_\bi_\bs_\bp_\bl_\ba_\by_\be_\bd_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bd_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn_\b * _\bd_\bi_\bs_\bp_\bl_\ba_\by_\be_\bd_\b(_\b)_\b \n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bT_\ba_\bb_\bl_\be_\bR_\be_\bs_\bu_\bl_\bt o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* E\bE *\b**\b**\b**\b**\b*\n- * e91195719c2c_store_users_avatars_persistently * _\be_\bx_\bt_\be_\bn_\bd_\be_\bd_\b__\ba_\bw_\ba_\by_\b(_\b)_\b \n- o _\bm_\bo_\bd_\bu_\bl_\be _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\be_\bn_\bt_\br_\by_\bp_\bo_\bi_\bn_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bs_\bl_\bi_\bd_\bg_\be_\b) o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * e91195719c2c_store_users_avatars_persistently * _\be_\bn_\bt_\br_\by_\bp_\bo_\bi_\bn_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bs_\bl_\bi_\bd_\bg_\be_\b)\n+ o _\bm_\bo_\bd_\bu_\bl_\be * _\be_\bx_\bt_\be_\bn_\bd_\be_\bd_\b__\ba_\bw_\ba_\by_\b(_\b)_\b \n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* F\bF *\b**\b**\b**\b**\b*\n * _\bf_\be_\bt_\bc_\bh_\b__\bv_\bc_\ba_\br_\bd_\b(_\b)_\b * _\bf_\bi_\bl_\bl_\b__\bp_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\bs_\b(_\b)_\b \n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n * _\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt _\bm_\be_\bt_\bh_\bo_\bd_\b)\n@@ -172,24 +174,24 @@\n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt _\bm_\be_\bt_\bh_\bo_\bd_\b)\n _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd\n * _\bg_\be_\bt_\b__\bp_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC _\bm_\be_\bt_\bh_\bo_\bd_\b)\n _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bT_\ba_\bb_\bl_\be_\bR_\be_\bs_\bu_\bl_\bt\n * _\bg_\be_\bt_\b__\bp_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b__\bb_\by_\b__\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\bo_\bn_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- * _\bg_\be_\bt_\b__\bq_\br_\b__\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- * _\bg_\be_\bt_\b__\bs_\by_\bs_\bt_\be_\bm_\b__\bp_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bG_\bR_\bO_\bU_\bP_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bu_\bc_\bT_\by_\bp_\be\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\bo_\bn_\be_\b(_\b)_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bg_\be_\bt_\b__\bq_\br_\b__\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bg_\be_\bt_\b__\bs_\by_\bs_\bt_\be_\bm_\b__\bp_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b(_\b)_\b * _\bG_\bR_\bO_\bU_\bP_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bu_\bc_\bT_\by_\bp_\be\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* H\bH *\b**\b**\b**\b**\b*\n * _\bh_\ba_\bn_\bd_\bl_\be_\br_\b * _\bH_\bA_\bS_\b__\bS_\bU_\bB_\bJ_\bE_\bC_\bT_\b \n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n * _\bh_\ba_\bn_\bd_\bl_\be_\br_\b__\ba_\br_\bg_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn * _\bH_\bE_\bL_\bP_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd\n@@ -199,26 +201,25 @@\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n * _\bH_\bA_\bS_\b__\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN_\b \n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n *\b**\b**\b**\b**\b* I\bI *\b**\b**\b**\b**\b*\n- * _\bi_\bm_\ba_\bg_\be_\b__\bu_\br_\bl_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd * _\bi_\bn_\bv_\bi_\bt_\be_\b__\bt_\bo_\b(_\b)_\b \n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt * _\bi_\bt_\be_\bm_\bs_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bi_\bn_\bp_\bu_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bT_\ba_\bb_\bl_\be_\bR_\be_\bs_\bu_\bl_\bt\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bi_\bm_\ba_\bg_\be_\b__\bu_\br_\bl_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd * _\bi_\bn_\bv_\bi_\bt_\be_\b__\bt_\bo_\b(_\b)_\b \n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ * _\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt * _\bi_\bt_\be_\bm_\bs_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bi_\bn_\bp_\bu_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bT_\ba_\bb_\bl_\be_\bR_\be_\bs_\bu_\bl_\bt\n+ o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* J\bJ *\b**\b**\b**\b**\b*\n * _\bJ\bJ_\bI\bI_\bD\bD_\b _\bL\bL_\bo\bo_\bc\bc_\ba\ba_\bl\bl_\b _\bP\bP_\ba\ba_\br\br_\bt\bt\n * _\bj_\bi_\bd_\b__\bu_\bs_\be_\br_\bn_\ba_\bm_\be_\b__\bt_\bo_\b__\bl_\be_\bg_\ba_\bc_\by_\b__\bi_\bd_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bR_\bo_\bs_\bt_\be_\br_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n@@ -299,169 +300,172 @@\n o _\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn\n *\b**\b**\b**\b**\b* N\bN *\b**\b**\b**\b**\b*\n * _\bN_\bA_\bM_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd * _\bn_\ba_\bm_\be_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n * _\bN_\bO_\bD_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n *\b**\b**\b**\b**\b* O\bO *\b**\b**\b**\b**\b*\n- * _\bO\bO_\bf\bf_\bf\bf_\bi\bi_\bc\bc_\bi\bi_\ba\ba_\bl\bl_\b _\bC\bC_\bl\bl_\bi\bi_\be\be_\bn\bn_\bt\bt * _\bo_\bn_\b__\bk_\bi_\bc_\bk_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n- * _\bo_\bf_\bf_\bl_\bi_\bn_\be_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt * _\bo_\bn_\b__\bl_\be_\ba_\bv_\be_\b__\bg_\br_\bo_\bu_\bp_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bm_\bo_\bd_\be_\br_\ba_\bt_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bp_\ba_\bu_\bs_\be_\bd_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bp_\br_\be_\bs_\be_\bn_\bc_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bc_\bo_\bm_\bp_\bo_\bs_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\br_\be_\ba_\bc_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bc_\bo_\br_\br_\be_\bc_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\br_\be_\bt_\br_\ba_\bc_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bc_\br_\be_\ba_\bt_\be_\b__\bg_\br_\bo_\bu_\bp_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bs_\be_\ba_\br_\bc_\bh_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bd_\be_\bs_\bt_\br_\bo_\by_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\b__\bs_\be_\bt_\b__\ba_\bf_\bf_\bi_\bl_\bi_\ba_\bt_\bi_\bo_\bn_\b(_\b)_\b \n- * _\bo_\bn_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\be_\bd_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bs_\be_\bt_\b__\bc_\bo_\bn_\bf_\bi_\bg_\b(_\b)_\b \n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bf_\bi_\bl_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bs_\be_\bt_\b__\bs_\bu_\bb_\bj_\be_\bc_\bt_\b(_\b)_\b \n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\ba_\bc_\bc_\be_\bp_\bt_\b(_\b)_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\b__\bs_\bt_\bi_\bc_\bk_\be_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- * _\bo_\bn_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\bd_\be_\bl_\be_\bt_\be_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- * _\bo_\bn_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\b__\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\bl_\bi_\bn_\be_\b(_\b)_\b \n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bi_\bn_\bv_\bi_\bt_\ba_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n-*\b**\b**\b**\b**\b* P\bP *\b**\b**\b**\b**\b*\n- * _\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bp_\br_\bi_\bv_\ba_\bt_\be_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd\n- _\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bp_\ba_\bu_\bs_\be_\bd_\b(_\b)_\b * _\bp_\br_\bo_\bm_\bp_\bt_\b \n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bP_\bR_\bO_\bP_\bE_\bR_\b__\bR_\bE_\bC_\bE_\bI_\bP_\bT_\bS_\b \n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bO\bO_\bf\bf_\bf\bf_\bi\bi_\bc\bc_\bi\bi_\ba\ba_\bl\bl_\b _\bC\bC_\bl\bl_\bi\bi_\be\be_\bn\bn_\bt\bt * _\bo_\bn_\b__\bk_\bi_\bc_\bk_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n+ * _\bo_\bf_\bf_\bl_\bi_\bn_\be_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\b__\bl_\be_\ba_\bv_\be_\b__\bg_\br_\bo_\bu_\bp_\b(_\b)_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ * _\bo_\bn_\b__\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\b__\bm_\bo_\bd_\be_\br_\ba_\bt_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ * _\bo_\bn_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\b__\bp_\ba_\bu_\bs_\be_\bd_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bp_\br_\be_\bs_\be_\bn_\bc_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bc_\bo_\bm_\bp_\bo_\bs_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\br_\be_\ba_\bc_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bc_\bo_\br_\br_\be_\bc_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\br_\be_\bt_\br_\ba_\bc_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bc_\br_\be_\ba_\bt_\be_\b__\bg_\br_\bo_\bu_\bp_\b(_\b)_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bs_\be_\ba_\br_\bc_\bh_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bd_\be_\bs_\bt_\br_\bo_\by_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\b__\bs_\be_\bt_\b__\ba_\bf_\bf_\bi_\bl_\bi_\ba_\bt_\bi_\bo_\bn_\b(_\b)_\b \n+ * _\bo_\bn_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\be_\bd_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bs_\be_\bt_\b__\bc_\bo_\bn_\bf_\bi_\bg_\b(_\b)_\b \n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bf_\bi_\bl_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\b__\bs_\be_\bt_\b__\bs_\bu_\bb_\bj_\be_\bc_\bt_\b(_\b)_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\ba_\bc_\bc_\be_\bp_\bt_\b(_\b)_\b * _\bo_\bn_\b__\bs_\bt_\bi_\bc_\bk_\be_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ * _\bo_\bn_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\bd_\be_\bl_\be_\bt_\be_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt * _\bo_\bn_\b__\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\bl_\bi_\bn_\be_\b(_\b)_\b \n+ * _\bo_\bn_\b__\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bi_\bn_\bv_\bi_\bt_\ba_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+*\b**\b**\b**\b**\b* P\bP *\b**\b**\b**\b**\b*\n+ * _\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bp_\br_\bi_\bv_\ba_\bt_\be_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd\n+ _\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bp_\ba_\bu_\bs_\be_\bd_\b(_\b)_\b * _\bp_\br_\bo_\bm_\bp_\bt_\b \n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by * _\bP_\bR_\bO_\bP_\bE_\bR_\b__\bR_\bE_\bC_\bE_\bI_\bP_\bT_\bS_\b \n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n *\b**\b**\b**\b**\b* Q\bQ *\b**\b**\b**\b**\b*\n * _\bQ_\bR_\bC_\bO_\bD_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b._\bR_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n *\b**\b**\b**\b**\b* R\bR *\b**\b**\b**\b**\b*\n- * _\br_\ba_\bi_\bs_\be_\b__\bi_\bf_\b__\bn_\bo_\bt_\b__\ba_\bu_\bt_\bh_\bo_\br_\bi_\bz_\be_\bd_\b(_\b)_\b * _\bR_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn_\bT_\by_\bp_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b)\n- * _\br_\be_\ba_\bc_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt * _\br_\be_\bj_\be_\bc_\bt_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b \n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt * _\br_\be_\bm_\bo_\bv_\be_\b(_\b)_\b \n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt * _\br_\be_\bm_\bo_\bv_\be_\b__\bp_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b(_\b)_\b \n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\br_\be_\bc_\be_\bi_\bv_\be_\bd_\b(_\b)_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bR_\bE_\bS_\bO_\bU_\bR_\bC_\bE_\b \n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt * _\br_\be_\bt_\br_\ba_\bc_\bt_\b(_\b)_\b \n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bR_\bE_\bG_\bI_\bS_\bT_\bR_\bA_\bT_\bI_\bO_\bN_\b__\bF_\bI_\bE_\bL_\bD_\bS_\b o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bR_\bE_\bG_\bI_\bS_\bT_\bR_\bA_\bT_\bI_\bO_\bN_\b__\bI_\bN_\bS_\bT_\bR_\bU_\bC_\bT_\bI_\bO_\bN_\bS_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by * _\bR\bR_\bo\bo_\bs\bs_\bt\bt_\be\be_\br\br\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bR_\bO_\bS_\bT_\bE_\bR_\b__\bG_\bR_\bO_\bU_\bP_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n- * _\bR_\bE_\bG_\bI_\bS_\bT_\bR_\bA_\bT_\bI_\bO_\bN_\b__\bT_\bY_\bP_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\br_\bu_\bn_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\br_\ba_\bi_\bs_\be_\b__\bi_\bf_\b__\bn_\bo_\bt_\b__\ba_\bu_\bt_\bh_\bo_\br_\bi_\bz_\be_\bd_\b(_\b)_\b * _\br_\be_\bj_\be_\bc_\bt_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b \n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ * _\br_\be_\ba_\bc_\bt_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt * _\br_\be_\bm_\bo_\bv_\be_\b(_\b)_\b \n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\br_\be_\bm_\bo_\bv_\be_\b__\bp_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b(_\b)_\b \n+ * _\br_\be_\bc_\be_\bi_\bv_\be_\bd_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bR_\bE_\bS_\bO_\bU_\bR_\bC_\bE_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bR_\bE_\bG_\bI_\bS_\bT_\bR_\bA_\bT_\bI_\bO_\bN_\b__\bF_\bI_\bE_\bL_\bD_\bS_\b * _\br_\be_\bt_\br_\ba_\bc_\bt_\b(_\b)_\b \n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ * _\bR_\bE_\bG_\bI_\bS_\bT_\bR_\bA_\bT_\bI_\bO_\bN_\b__\bI_\bN_\bS_\bT_\bR_\bU_\bC_\bT_\bI_\bO_\bN_\bS_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bR\bR_\bo\bo_\bs\bs_\bt\bt_\be\be_\br\br\n+ * _\bR_\bE_\bG_\bI_\bS_\bT_\bR_\bA_\bT_\bI_\bO_\bN_\b__\bT_\bY_\bP_\bE_\b * _\bR_\bO_\bS_\bT_\bE_\bR_\b__\bG_\bR_\bO_\bU_\bP_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bR_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn_\bT_\by_\bp_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\br_\bu_\bn_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd\n+ _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* S\bS *\b**\b**\b**\b**\b*\n- * _\bS_\bE_\bA_\bR_\bC_\bH_\b__\bF_\bI_\bE_\bL_\bD_\bS_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by * _\bS_\bi_\bg_\bT_\be_\br_\bm_\bI_\bn_\bt_\be_\br_\br_\bu_\bp_\bt\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bS_\bI_\bN_\bG_\bL_\bE_\b__\bS_\bT_\bE_\bP_\b__\bF_\bO_\bR_\bM_\b \n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b._\bR_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn_\bT_\by_\bp_\be\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bS_\bE_\bA_\bR_\bC_\bH_\b__\bI_\bN_\bS_\bT_\bR_\bU_\bC_\bT_\bI_\bO_\bN_\bS_\b * slidge\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by * slidge.command\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bS_\bE_\bA_\bR_\bC_\bH_\b__\bT_\bI_\bT_\bL_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by * slidge.command.register\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by * slidge.contact\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * slidge.group\n- _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bs_\be_\bn_\bd_\b__\bf_\bi_\bl_\be_\b(_\b)_\b * slidge.main\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt * _\bS_\bP_\bE_\bC_\bI_\bA_\bL_\b__\bM_\bS_\bG_\b__\bI_\bD_\b__\bP_\bR_\bE_\bF_\bI_\bX_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt * _\bS_\bT_\bA_\bB_\bL_\bE_\b__\bA_\bR_\bC_\bH_\bI_\bV_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bs_\be_\bn_\bd_\b__\bg_\ba_\bt_\be_\bw_\ba_\by_\b__\bi_\bn_\bv_\bi_\bt_\be_\b(_\b)_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bs_\bu_\bc_\bc_\be_\bs_\bs_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * superduper\n- * _\bs_\be_\bn_\bd_\b__\bg_\ba_\bt_\be_\bw_\ba_\by_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b o _\bm_\bo_\bd_\bu_\bl_\be\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * superduper.gateway\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * superduper.group\n- * _\bs_\be_\bn_\bd_\b__\bg_\ba_\bt_\be_\bw_\ba_\by_\b__\bs_\bt_\ba_\bt_\bu_\bs_\b(_\b)_\b o _\bm_\bo_\bd_\bu_\bl_\be\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * superduper.session\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bS_\bE_\bA_\bR_\bC_\bH_\b__\bF_\bI_\bE_\bL_\bD_\bS_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by * _\bS_\bi_\bg_\bT_\be_\br_\bm_\bI_\bn_\bt_\be_\br_\br_\bu_\bp_\bt\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bS_\bI_\bN_\bG_\bL_\bE_\b__\bS_\bT_\bE_\bP_\b__\bF_\bO_\bR_\bM_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b._\bR_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn_\bT_\by_\bp_\be\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bS_\bE_\bA_\bR_\bC_\bH_\b__\bI_\bN_\bS_\bT_\bR_\bU_\bC_\bT_\bI_\bO_\bN_\bS_\b * slidge\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by * slidge.command\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bS_\bE_\bA_\bR_\bC_\bH_\b__\bT_\bI_\bT_\bL_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by * slidge.command.register\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by * slidge.contact\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * slidge.group\n+ _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bs_\be_\bn_\bd_\b__\bf_\bi_\bl_\be_\b(_\b)_\b * slidge.main\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bS_\bP_\bE_\bC_\bI_\bA_\bL_\b__\bM_\bS_\bG_\b__\bI_\bD_\b__\bP_\bR_\bE_\bF_\bI_\bX_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bS_\bT_\bA_\bB_\bL_\bE_\b__\bA_\bR_\bC_\bH_\bI_\bV_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n+ * _\bs_\be_\bn_\bd_\b__\bg_\ba_\bt_\be_\bw_\ba_\by_\b__\bi_\bn_\bv_\bi_\bt_\be_\b(_\b)_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bs_\bu_\bc_\bc_\be_\bs_\bs_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bs_\be_\bn_\bd_\b__\bg_\ba_\bt_\be_\bw_\ba_\by_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b * superduper\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * superduper.gateway\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bs_\be_\bn_\bd_\b__\bg_\ba_\bt_\be_\bw_\ba_\by_\b__\bs_\bt_\ba_\bt_\bu_\bs_\b(_\b)_\b * superduper.group\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * superduper.session\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n * _\bs_\be_\bn_\bd_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b__\bp_\br_\be_\bs_\be_\bn_\bc_\be_\b(_\b)_\b \n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bs_\be_\bn_\bd_\b__\bq_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bs_\be_\bn_\bd_\b__\bq_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n * _\bs_\be_\bn_\bd_\b__\bt_\be_\bx_\bt_\b(_\b)_\b \n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b)\n+ * _\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ _\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b)\n * _\bs_\be_\bt_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)_\b \n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* T\bT *\b**\b**\b**\b**\b*\n * _\bT_\ba_\bb_\bl_\be_\bR_\be_\bs_\bu_\bl_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b) * _\bT_\bw_\bo_\bF_\ba_\bc_\bt_\bo_\br_\bN_\bo_\bt_\bR_\be_\bq_\bu_\bi_\br_\be_\bd\n * _\bT_\bW_\bO_\b__\bF_\bA_\bC_\bT_\bO_\bR_\b__\bC_\bO_\bD_\bE_\b * _\bt_\by_\bp_\be_\b \n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b._\bR_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn_\bT_\by_\bp_\be _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n *\b**\b**\b**\b**\b* U\bU *\b**\b**\b**\b**\b*\n"}]}, {"source1": "./usr/share/doc/python-slidge-doc/html/index.html", "source2": "./usr/share/doc/python-slidge-doc/html/index.html", "unified_diff": "@@ -557,33 +557,14 @@\n
        \n \n
      • LegacyParticipant\n
      • \n
      • LegacyMUC\n
      • \n \n \n \n \n
      • slidge.main
          \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -243,33 +243,14 @@\n # _\bL_\be_\bg_\ba_\bc_\by_\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b._\br_\be_\bm_\bo_\bv_\be_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b__\bp_\br_\be_\bs_\be_\bn_\bc_\be\n _\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bl_\be_\ba_\bv_\be_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bk_\bi_\bc_\bk_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bb_\ba_\bn_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bo_\bn_\bl_\bi_\bn_\be_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\ba_\bw_\ba_\by_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\be_\bx_\bt_\be_\bn_\bd_\be_\bd_\b__\ba_\bw_\ba_\by_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bb_\bu_\bs_\by_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bo_\bf_\bf_\bl_\bi_\bn_\be_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bi_\bn_\bv_\bi_\bt_\be_\b__\bt_\bo_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bc_\bo_\bm_\bp_\bo_\bs_\bi_\bn_\bg_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bp_\ba_\bu_\bs_\be_\bd_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bg_\bo_\bn_\be_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\ba_\bc_\bk_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\br_\be_\bc_\be_\bi_\bv_\be_\bd_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bd_\bi_\bs_\bp_\bl_\ba_\by_\be_\bd_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bf_\bi_\bl_\be_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bt_\be_\bx_\bt_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bc_\bo_\br_\br_\be_\bc_\bt_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\br_\be_\ba_\bc_\bt_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\br_\be_\bt_\br_\ba_\bc_\bt_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bS_\bT_\bA_\bB_\bL_\bE_\b__\bA_\bR_\bC_\bH_\bI_\bV_\bE\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bK_\bE_\bE_\bP_\b__\bB_\bA_\bC_\bK_\bF_\bI_\bL_\bL_\bE_\bD_\b__\bP_\bA_\bR_\bT_\bI_\bC_\bI_\bP_\bA_\bN_\bT_\bS\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bH_\bA_\bS_\b__\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bH_\bA_\bS_\b__\bS_\bU_\bB_\bJ_\bE_\bC_\bT\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bu_\bp_\bd_\ba_\bt_\be_\b__\bi_\bn_\bf_\bo_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bb_\ba_\bc_\bk_\bf_\bi_\bl_\bl_\b(_\b)\n@@ -284,18 +265,14 @@\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bd_\bd_\b__\bt_\bo_\b__\bb_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bs_\be_\bt_\b__\ba_\bf_\bf_\bi_\bl_\bi_\ba_\bt_\bi_\bo_\bn_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bk_\bi_\bc_\bk_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bs_\be_\bt_\b__\bc_\bo_\bn_\bf_\bi_\bg_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bd_\be_\bs_\bt_\br_\bo_\by_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bs_\be_\bt_\b__\bs_\bu_\bb_\bj_\be_\bc_\bt_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bv_\ba_\bt_\ba_\br_\b__\bi_\bd\n- # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bv_\ba_\bt_\ba_\br\n- # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bs_\be_\bt_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)\n- # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b__\be_\bm_\bo_\bj_\bi_\bs_\b(_\b)\n # _\bs_\bl_\bi_\bd_\bg_\be_\b._\bm_\ba_\bi_\bn\n # _\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs\n # _\bM_\bo_\bd_\bu_\bl_\be_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs\n # _\bS_\bi_\bg_\bT_\be_\br_\bm_\bI_\bn_\bt_\be_\br_\br_\bu_\bp_\bt\n # _\bC_\bl_\ba_\bs_\bs_\be_\bs\n # _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n # _\bP_\ba_\bc_\bk_\ba_\bg_\be_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs\n"}]}, {"source1": "./usr/share/doc/python-slidge-doc/html/objects.inv", "source2": "./usr/share/doc/python-slidge-doc/html/objects.inv", "unified_diff": null, "details": [{"source1": "Sphinx inventory", "source2": "Sphinx inventory", "unified_diff": "@@ -1,529 +1,37 @@\n # Sphinx inventory version 2\n # Project: Slidge\n # Version: \n # The remainder of this file is compressed using zlib.\n+#\u06c9\u070d\u0006\u001a\u0004\"\u04b9\u0001\u0155s\u0006n+:P\"\u04e0\tW[\u0725eDbZq!\u0003\u0007N\u0006+\u065f:+IMtN\u001c}\u000e-\u001bu\u0018c:B|\u0004#\u001bN&`Na0\u001eN\u0017B[.RA7r6\rf\u0643Gi4\u000f\u001eFset6fl4\u001c\u000bul0/fxl\u07cfGwg\u07d7!f\u0012M\u000b\u000fT\u00196\u001f\rfo\u04b4f e.\u018bG}\b[QVyp\\#\u008d>H6'Y\u00042\u0004L@~O\u0015\u00111\u000bA\u0004\u05a8T9\u0019\u001e\n \n-04cf35e3cf85_add_participant_nickname_no_illegal py:module 0 dev/api/04cf35e3cf85_add_participant_nickname_no_illegal/index.html#module-$ -\n-09f27f098baa_add_missing_attributes_in_room py:module 0 dev/api/09f27f098baa_add_missing_attributes_in_room/index.html#module-$ -\n-15b0bd83407a_remove_bogus_unique_constraints_on_room_ py:module 0 dev/api/15b0bd83407a_remove_bogus_unique_constraints_on_room_/index.html#module-$ -\n-2461390c0af2_store_contacts_caps_verstring_in_db py:module 0 dev/api/2461390c0af2_store_contacts_caps_verstring_in_db/index.html#module-$ -\n-29f5280c61aa_store_subject_setter_in_room py:module 0 dev/api/29f5280c61aa_store_subject_setter_in_room/index.html#module-$ -\n-2b1f45ab7379_store_room_subject_setter_by_nickname py:module 0 dev/api/2b1f45ab7379_store_room_subject_setter_by_nickname/index.html#module-$ -\n-3071e0fa69d4_add_contact_client_type py:module 0 dev/api/3071e0fa69d4_add_contact_client_type/index.html#module-$ -\n-45c24cc73c91_add_bob py:module 0 dev/api/45c24cc73c91_add_bob/index.html#module-$ -\n-5bd48bfdffa2_lift_room_legacy_id_constraint py:module 0 dev/api/5bd48bfdffa2_lift_room_legacy_id_constraint/index.html#module-$ -\n-82a4af84b679_add_muc_history_filled py:module 0 dev/api/82a4af84b679_add_muc_history_filled/index.html#module-$ -\n-8b993243a536_add_vcard_content_to_contact_table py:module 0 dev/api/8b993243a536_add_vcard_content_to_contact_table/index.html#module-$ -\n-8d2ced764698_rely_on_db_to_store_contacts_rooms_and_ py:module 0 dev/api/8d2ced764698_rely_on_db_to_store_contacts_rooms_and_/index.html#module-$ -\n-aa9d82a7f6ef_db_creation py:module 0 dev/api/aa9d82a7f6ef_db_creation/index.html#module-$ -\n-abba1ae0edb3_store_avatar_legacy_id_in_the_contact_ py:module 0 dev/api/abba1ae0edb3_store_avatar_legacy_id_in_the_contact_/index.html#module-$ -\n-b33993e87db3_move_everything_to_persistent_db py:module 0 dev/api/b33993e87db3_move_everything_to_persistent_db/index.html#module-$ -\n-b64b1a793483_add_source_and_legacy_id_for_archived_ py:module 0 dev/api/b64b1a793483_add_source_and_legacy_id_for_archived_/index.html#module-$ -\n-c4a8ec35a0e8_per_room_user_nick py:module 0 dev/api/c4a8ec35a0e8_per_room_user_nick/index.html#module-$ -\n-e91195719c2c_store_users_avatars_persistently py:module 0 dev/api/e91195719c2c_store_users_avatars_persistently/index.html#module-$ -\n-slidge py:module 0 dev/api/slidge/index.html#module-$ -\n-slidge.BaseGateway py:class 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.AVATAR_ID_TYPE py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.COMPONENT_AVATAR py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.COMPONENT_NAME py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.COMPONENT_TYPE py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.LEGACY_CONTACT_ID_TYPE py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.LEGACY_MSG_ID_TYPE py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.LEGACY_ROOM_ID_TYPE py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.MARK_ALL_MESSAGES py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.PROPER_RECEIPTS py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.REGISTRATION_FIELDS py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.REGISTRATION_INSTRUCTIONS py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.REGISTRATION_TYPE py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.ROSTER_GROUP py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.SEARCH_FIELDS py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.SEARCH_INSTRUCTIONS py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.SEARCH_TITLE py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.WELCOME_MESSAGE py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.confirm_qr py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.get_qr_text py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.input py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.send_qr py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.unregister py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.validate py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseGateway.validate_two_factor_code py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession py:class 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.MESSAGE_IDS_ARE_THREAD_IDS py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.SPECIAL_MSG_ID_PREFIX py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.input py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.legacy_to_xmpp_msg_id py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.login py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.logout py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_active py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_avatar py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_composing py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_correct py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_create_group py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_displayed py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_file py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_inactive py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_invitation py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_leave_group py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_moderate py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_paused py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_presence py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_react py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_retract py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_search py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_sticker py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.on_text py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.send_gateway_invite py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.send_gateway_message py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.send_gateway_status py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.send_qr py:method 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.xmpp py:attribute 1 dev/api/slidge/index.html#$ -\n-slidge.BaseSession.xmpp_to_legacy_msg_id py:method 1 dev/api/slidge/index.html#$ -\n-slidge.command py:module 0 dev/api/slidge/command/index.html#module-$ -\n-slidge.command.Command py:class 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Command.ACCESS py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Command.CATEGORY py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Command.CHAT_COMMAND py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Command.HELP py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Command.NAME py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Command.NODE py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Command.raise_if_not_authorized py:method 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Command.run py:method 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.CommandAccess py:class 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Confirmation py:class 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Confirmation.get_form py:method 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Confirmation.handler py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Confirmation.handler_args py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Confirmation.handler_kwargs py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Confirmation.prompt py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Confirmation.success py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Form py:class 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Form.get_values py:method 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.Form.get_xml py:method 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.FormField py:class 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.FormField.get_xml py:method 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.FormField.image_url py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.FormField.label py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.FormField.private py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.FormField.required py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.FormField.type py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.FormField.validate py:method 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.FormField.value py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.FormField.var py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.SearchResult py:class 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.SearchResult.description py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.SearchResult.fields py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.SearchResult.get_xml py:method 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.SearchResult.items py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.TableResult py:class 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.TableResult.description py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.TableResult.fields py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.TableResult.get_xml py:method 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.TableResult.items py:attribute 1 dev/api/slidge/command/index.html#$ -\n-slidge.command.register py:module 0 dev/api/slidge/command/register/index.html#module-$ -\n-slidge.command.register.RegistrationType py:class 1 dev/api/slidge/command/register/index.html#$ -\n-slidge.command.register.RegistrationType.QRCODE py:attribute 1 dev/api/slidge/command/register/index.html#$ -\n-slidge.command.register.RegistrationType.SINGLE_STEP_FORM py:attribute 1 dev/api/slidge/command/register/index.html#$ -\n-slidge.command.register.RegistrationType.TWO_FACTOR_CODE py:attribute 1 dev/api/slidge/command/register/index.html#$ -\n-slidge.command.register.TwoFactorNotRequired py:exception 1 dev/api/slidge/command/register/index.html#$ -\n-slidge.contact py:module 0 dev/api/slidge/contact/index.html#module-$ -\n-slidge.contact.LegacyContact py:class 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.RESOURCE py:attribute 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.accept_friend_request py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.ack py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.active py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.add_to_roster py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.available_emojis py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.avatar py:property 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.avatar_id py:property 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.away py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.busy py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.client_type py:property 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.composing py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.correct py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.displayed py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.extended_away py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.fetch_vcard py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.get_msg_xmpp_id_up_to py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.gone py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.inactive py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.invite_to py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.legacy_id py:attribute 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.name py:property 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.offline py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.on_friend_accept py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.on_friend_delete py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.on_friend_request py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.online py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.paused py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.react py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.received py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.reject_friend_request py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.retract py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.send_file py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.send_text py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.set_avatar py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.unsubscribe py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyContact.update_info py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyRoster py:class 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyRoster.by_legacy_id py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyRoster.fill py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyRoster.jid_username_to_legacy_id py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.contact.LegacyRoster.legacy_id_to_jid_username py:method 1 dev/api/slidge/contact/index.html#$ -\n-slidge.entrypoint py:function 1 dev/api/slidge/index.html#$ -\n-slidge.group py:module 0 dev/api/slidge/group/index.html#module-$ -\n-slidge.group.LegacyBookmarks py:class 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyBookmarks.fill py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyBookmarks.jid_username_to_legacy_id py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyBookmarks.legacy_id_to_jid_username py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyBookmarks.remove py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC py:class 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.HAS_DESCRIPTION py:attribute 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.HAS_SUBJECT py:attribute 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.KEEP_BACKFILLED_PARTICIPANTS py:attribute 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.STABLE_ARCHIVE py:attribute 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.add_to_bookmarks py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.available_emojis py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.avatar py:property 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.avatar_id py:property 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.backfill py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.fill_participants py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.get_participant py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.get_participant_by_contact py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.get_system_participant py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.get_user_participant py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.kick_resource py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.on_avatar py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.on_destroy_request py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.on_kick py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.on_set_affiliation py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.on_set_config py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.on_set_subject py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.remove_participant py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.set_avatar py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyMUC.update_info py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant py:class 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.ack py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.active py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.away py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.ban py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.busy py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.composing py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.correct py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.displayed py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.extended_away py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.gone py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.inactive py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.invite_to py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.kick py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.leave py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.offline py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.online py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.paused py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.react py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.received py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.retract py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.send_file py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.send_initial_presence py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.LegacyParticipant.send_text py:method 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.MucType py:class 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.MucType.CHANNEL py:attribute 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.MucType.CHANNEL_NON_ANONYMOUS py:attribute 1 dev/api/slidge/group/index.html#$ -\n-slidge.group.MucType.GROUP py:attribute 1 dev/api/slidge/group/index.html#$ -\n-slidge.main py:module 0 dev/api/slidge/main/index.html#module-$ -\n-slidge.main.SigTermInterrupt py:exception 1 dev/api/slidge/main/index.html#$ -\n-superduper py:module 0 dev/api/superduper/index.html#module-$ -\n-superduper.gateway py:module 0 dev/api/superduper/gateway/index.html#module-$ -\n-superduper.gateway.Gateway py:class 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.AVATAR_ID_TYPE py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.COMPONENT_AVATAR py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.COMPONENT_NAME py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.COMPONENT_TYPE py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.LEGACY_CONTACT_ID_TYPE py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.LEGACY_MSG_ID_TYPE py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.LEGACY_ROOM_ID_TYPE py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.MARK_ALL_MESSAGES py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.PROPER_RECEIPTS py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.REGISTRATION_FIELDS py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.REGISTRATION_INSTRUCTIONS py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.REGISTRATION_TYPE py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.ROSTER_GROUP py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.SEARCH_FIELDS py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.SEARCH_INSTRUCTIONS py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.SEARCH_TITLE py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.WELCOME_MESSAGE py:attribute 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.ack py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.active py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.composing py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.confirm_qr py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.correct py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.displayed py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.get_qr_text py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.gone py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.inactive py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.input py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.invite_to py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.paused py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.react py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.received py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.retract py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.send_file py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.send_qr py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.send_text py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.unregister py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.validate py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.gateway.Gateway.validate_two_factor_code py:method 1 dev/api/superduper/gateway/index.html#$ -\n-superduper.group py:module 0 dev/api/superduper/group/index.html#module-$ -\n-superduper.group.Bookmarks py:class 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Bookmarks.fill py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Bookmarks.jid_username_to_legacy_id py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Bookmarks.legacy_id_to_jid_username py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Bookmarks.remove py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC py:class 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.HAS_DESCRIPTION py:attribute 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.HAS_SUBJECT py:attribute 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.KEEP_BACKFILLED_PARTICIPANTS py:attribute 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.STABLE_ARCHIVE py:attribute 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.add_to_bookmarks py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.available_emojis py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.avatar py:property 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.avatar_id py:property 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.backfill py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.fill_participants py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.get_participant py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.get_participant_by_contact py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.get_system_participant py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.get_user_participant py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.kick_resource py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.on_avatar py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.on_destroy_request py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.on_kick py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.on_set_affiliation py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.on_set_config py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.on_set_subject py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.remove_participant py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.set_avatar py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.MUC.update_info py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant py:class 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.ack py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.active py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.away py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.ban py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.busy py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.composing py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.correct py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.displayed py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.extended_away py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.gone py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.inactive py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.invite_to py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.kick py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.leave py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.offline py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.online py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.paused py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.react py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.received py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.retract py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.send_file py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.send_initial_presence py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.group.Participant.send_text py:method 1 dev/api/superduper/group/index.html#$ -\n-superduper.session py:module 0 dev/api/superduper/session/index.html#module-$ -\n-superduper.session.Session py:class 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.MESSAGE_IDS_ARE_THREAD_IDS py:attribute 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.SPECIAL_MSG_ID_PREFIX py:attribute 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.input py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.legacy_to_xmpp_msg_id py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.login py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.logout py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_active py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_avatar py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_composing py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_correct py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_create_group py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_displayed py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_file py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_inactive py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_invitation py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_leave_group py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_moderate py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_paused py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_presence py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_react py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_retract py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_search py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_sticker py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.on_text py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.send_gateway_invite py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.send_gateway_message py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.send_gateway_status py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.send_qr py:method 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.xmpp py:attribute 1 dev/api/superduper/session/index.html#$ -\n-superduper.session.Session.xmpp_to_legacy_msg_id py:method 1 dev/api/superduper/session/index.html#$ -\n-04cf35e3cf85_add_participant_nickname_no_illegal std:label -1 dev/api/04cf35e3cf85_add_participant_nickname_no_illegal/index.html#module-$ -\n-09f27f098baa_add_missing_attributes_in_room std:label -1 dev/api/09f27f098baa_add_missing_attributes_in_room/index.html#module-$ -\n-15b0bd83407a_remove_bogus_unique_constraints_on_room_ std:label -1 dev/api/15b0bd83407a_remove_bogus_unique_constraints_on_room_/index.html#module-$ 15b0bd83407a_remove_bogus_unique_constraints_on_room\n-2461390c0af2_store_contacts_caps_verstring_in_db std:label -1 dev/api/2461390c0af2_store_contacts_caps_verstring_in_db/index.html#module-$ -\n-29f5280c61aa_store_subject_setter_in_room std:label -1 dev/api/29f5280c61aa_store_subject_setter_in_room/index.html#module-$ -\n-2b1f45ab7379_store_room_subject_setter_by_nickname std:label -1 dev/api/2b1f45ab7379_store_room_subject_setter_by_nickname/index.html#module-$ -\n-3071e0fa69d4_add_contact_client_type std:label -1 dev/api/3071e0fa69d4_add_contact_client_type/index.html#module-$ -\n-45c24cc73c91_add_bob std:label -1 dev/api/45c24cc73c91_add_bob/index.html#module-$ -\n-5bd48bfdffa2_lift_room_legacy_id_constraint std:label -1 dev/api/5bd48bfdffa2_lift_room_legacy_id_constraint/index.html#module-$ -\n-82a4af84b679_add_muc_history_filled std:label -1 dev/api/82a4af84b679_add_muc_history_filled/index.html#module-$ -\n-8b993243a536_add_vcard_content_to_contact_table std:label -1 dev/api/8b993243a536_add_vcard_content_to_contact_table/index.html#module-$ -\n-8d2ced764698_rely_on_db_to_store_contacts_rooms_and_ std:label -1 dev/api/8d2ced764698_rely_on_db_to_store_contacts_rooms_and_/index.html#module-$ 8d2ced764698_rely_on_db_to_store_contacts_rooms_and\n-Ad-hoc Command std:term -1 glossary.html#term-Ad-hoc-Command -\n-Avatar std:term -1 glossary.html#term-$ -\n-Carbons std:term -1 glossary.html#term-$ -\n-Chatbot Command std:term -1 glossary.html#term-Chatbot-Command -\n-Command std:term -1 glossary.html#term-$ -\n-JID Local Part std:term -1 glossary.html#term-JID-Local-Part -\n-Legacy Contact std:term -1 glossary.html#term-Legacy-Contact -\n-Legacy Module std:term -1 glossary.html#term-Legacy-Module -\n-Legacy Network std:term -1 glossary.html#term-Legacy-Network -\n-Official Client std:term -1 glossary.html#term-Official-Client -\n-Roster std:term -1 glossary.html#term-$ -\n-User std:term -1 glossary.html#term-$ -\n-XMPP Entity std:term -1 glossary.html#term-XMPP-Entity -\n-aa9d82a7f6ef_db_creation std:label -1 dev/api/aa9d82a7f6ef_db_creation/index.html#module-$ -\n-abba1ae0edb3_store_avatar_legacy_id_in_the_contact_ std:label -1 dev/api/abba1ae0edb3_store_avatar_legacy_id_in_the_contact_/index.html#module-$ abba1ae0edb3_store_avatar_legacy_id_in_the_contact\n-admin/attachments std:doc -1 admin/attachments.html Attachments\n-admin/component std:doc -1 admin/component.html XMPP server config\n-admin/config/index std:doc -1 admin/config/index.html Configuration\n-admin/daemon std:doc -1 admin/daemon.html Running as a daemon\n-admin/examples/index std:doc -1 admin/examples/index.html Example XMPP server configurations\n-admin/index std:doc -1 admin/index.html For admins\n-admin/install std:doc -1 admin/install.html Installation\n-admin/note std:doc -1 admin/note.html \n-admin/privilege std:doc -1 admin/privilege.html Privileges\n-as a systemd unit std:label -1 admin/daemon.html#as-a-systemd-unit As a systemd unit\n-attachments std:label -1 admin/attachments.html#$ Attachments\n-b33993e87db3_move_everything_to_persistent_db std:label -1 dev/api/b33993e87db3_move_everything_to_persistent_db/index.html#module-$ -\n-b64b1a793483_add_source_and_legacy_id_for_archived_ std:label -1 dev/api/b64b1a793483_add_source_and_legacy_id_for_archived_/index.html#module-$ b64b1a793483_add_source_and_legacy_id_for_archived\n-c4a8ec35a0e8_per_room_user_nick std:label -1 dev/api/c4a8ec35a0e8_per_room_user_nick/index.html#module-$ -\n-classes std:label -1 dev/api/superduper/session/index.html#$ Classes\n-commands std:label -1 user/commands.html#$ Commands\n-common config std:label -1 admin/config/index.html#common-config Common config\n-configuration std:label -1 admin/config/index.html#$ Configuration\n-contacts std:label -1 user/commands.html#$ Contacts\n-container install std:label -1 admin/daemon.html#container-install Container install\n-containers std:label -1 admin/daemon.html#$ Containers\n-contributing std:label -1 dev/contributing.html#$ Contributing\n-data persistence std:label -1 admin/daemon.html#data-persistence Data persistence\n-debian std:label -1 admin/install.html#$ -\n-debian packages (unofficial) std:label -1 admin/daemon.html#debian-packages-unofficial Debian packages (unofficial)\n-dev/api/04cf35e3cf85_add_participant_nickname_no_illegal/index std:doc -1 dev/api/04cf35e3cf85_add_participant_nickname_no_illegal/index.html 04cf35e3cf85_add_participant_nickname_no_illegal\n-dev/api/09f27f098baa_add_missing_attributes_in_room/index std:doc -1 dev/api/09f27f098baa_add_missing_attributes_in_room/index.html 09f27f098baa_add_missing_attributes_in_room\n-dev/api/15b0bd83407a_remove_bogus_unique_constraints_on_room_/index std:doc -1 dev/api/15b0bd83407a_remove_bogus_unique_constraints_on_room_/index.html 15b0bd83407a_remove_bogus_unique_constraints_on_room\n-dev/api/2461390c0af2_store_contacts_caps_verstring_in_db/index std:doc -1 dev/api/2461390c0af2_store_contacts_caps_verstring_in_db/index.html 2461390c0af2_store_contacts_caps_verstring_in_db\n-dev/api/29f5280c61aa_store_subject_setter_in_room/index std:doc -1 dev/api/29f5280c61aa_store_subject_setter_in_room/index.html 29f5280c61aa_store_subject_setter_in_room\n-dev/api/2b1f45ab7379_store_room_subject_setter_by_nickname/index std:doc -1 dev/api/2b1f45ab7379_store_room_subject_setter_by_nickname/index.html 2b1f45ab7379_store_room_subject_setter_by_nickname\n-dev/api/3071e0fa69d4_add_contact_client_type/index std:doc -1 dev/api/3071e0fa69d4_add_contact_client_type/index.html 3071e0fa69d4_add_contact_client_type\n-dev/api/45c24cc73c91_add_bob/index std:doc -1 dev/api/45c24cc73c91_add_bob/index.html 45c24cc73c91_add_bob\n-dev/api/5bd48bfdffa2_lift_room_legacy_id_constraint/index std:doc -1 dev/api/5bd48bfdffa2_lift_room_legacy_id_constraint/index.html 5bd48bfdffa2_lift_room_legacy_id_constraint\n-dev/api/82a4af84b679_add_muc_history_filled/index std:doc -1 dev/api/82a4af84b679_add_muc_history_filled/index.html 82a4af84b679_add_muc_history_filled\n-dev/api/8b993243a536_add_vcard_content_to_contact_table/index std:doc -1 dev/api/8b993243a536_add_vcard_content_to_contact_table/index.html 8b993243a536_add_vcard_content_to_contact_table\n-dev/api/8d2ced764698_rely_on_db_to_store_contacts_rooms_and_/index std:doc -1 dev/api/8d2ced764698_rely_on_db_to_store_contacts_rooms_and_/index.html 8d2ced764698_rely_on_db_to_store_contacts_rooms_and\n-dev/api/aa9d82a7f6ef_db_creation/index std:doc -1 dev/api/aa9d82a7f6ef_db_creation/index.html aa9d82a7f6ef_db_creation\n-dev/api/abba1ae0edb3_store_avatar_legacy_id_in_the_contact_/index std:doc -1 dev/api/abba1ae0edb3_store_avatar_legacy_id_in_the_contact_/index.html abba1ae0edb3_store_avatar_legacy_id_in_the_contact\n-dev/api/b33993e87db3_move_everything_to_persistent_db/index std:doc -1 dev/api/b33993e87db3_move_everything_to_persistent_db/index.html b33993e87db3_move_everything_to_persistent_db\n-dev/api/b64b1a793483_add_source_and_legacy_id_for_archived_/index std:doc -1 dev/api/b64b1a793483_add_source_and_legacy_id_for_archived_/index.html b64b1a793483_add_source_and_legacy_id_for_archived\n-dev/api/c4a8ec35a0e8_per_room_user_nick/index std:doc -1 dev/api/c4a8ec35a0e8_per_room_user_nick/index.html c4a8ec35a0e8_per_room_user_nick\n-dev/api/e91195719c2c_store_users_avatars_persistently/index std:doc -1 dev/api/e91195719c2c_store_users_avatars_persistently/index.html e91195719c2c_store_users_avatars_persistently\n-dev/api/slidge/command/index std:doc -1 dev/api/slidge/command/index.html slidge.command\n-dev/api/slidge/command/register/index std:doc -1 dev/api/slidge/command/register/index.html slidge.command.register\n-dev/api/slidge/contact/index std:doc -1 dev/api/slidge/contact/index.html slidge.contact\n-dev/api/slidge/group/index std:doc -1 dev/api/slidge/group/index.html slidge.group\n-dev/api/slidge/index std:doc -1 dev/api/slidge/index.html slidge\n-dev/api/slidge/main/index std:doc -1 dev/api/slidge/main/index.html slidge.main\n-dev/api/superduper/gateway/index std:doc -1 dev/api/superduper/gateway/index.html superduper.gateway\n-dev/api/superduper/group/index std:doc -1 dev/api/superduper/group/index.html superduper.group\n-dev/api/superduper/index std:doc -1 dev/api/superduper/index.html superduper\n-dev/api/superduper/session/index std:doc -1 dev/api/superduper/session/index.html superduper.session\n-dev/contributing std:doc -1 dev/contributing.html Contributing\n-dev/design std:doc -1 dev/design.html Slidge Design\n-dev/howto std:doc -1 dev/howto.html How to\u2026?\n-dev/index std:doc -1 dev/index.html For devs\n-dev/tutorial std:doc -1 dev/tutorial.html Tutorial: minimal legacy module from scratch\n-development setup std:label -1 dev/contributing.html#development-setup Development setup\n-dockerhub std:label -1 admin/install.html#$ Dockerhub\n-e91195719c2c_store_users_avatars_persistently std:label -1 dev/api/e91195719c2c_store_users_avatars_persistently/index.html#module-$ -\n-ejabberd std:label -1 admin/component.html#id2 -\n-example 1: prosody std:label -1 admin/examples/index.html#example-1-prosody Example 1: prosody\n-example 1: prosody's http_files std:label -1 admin/attachments.html#example-1-prosody-s-http-files Example 1: prosody\u2019s http_files\n-example 1: prosody's mod_http_file_share std:label -1 admin/attachments.html#example-1-prosody-s-mod-http-file-share Example 1: prosody\u2019s mod_http_file_share\n-example 2: ejabberd mod_http_upload std:label -1 admin/attachments.html#example-2-ejabberd-mod-http-upload Example 2: ejabberd mod_http_upload\n-example 2: ejabberd/upload-service std:label -1 admin/examples/index.html#example-2-ejabberd-upload-service Example 2: ejabberd/upload-service\n-example 2: nginx std:label -1 admin/attachments.html#example-2-nginx Example 2: nginx\n-example xmpp server configurations std:label -1 admin/examples/index.html#example-xmpp-server-configurations Example XMPP server configurations\n-exceptions std:label -1 dev/api/slidge/main/index.html#$ Exceptions\n-fetching info from the legacy service std:label -1 dev/design.html#fetching-info-from-the-legacy-service Fetching info from the legacy service\n-find std:label -1 user/commands.html#$ Find\n-finding legacy contacts std:label -1 user/contacts.html#finding-legacy-contacts Finding legacy contacts\n-for admins std:label -1 admin/index.html#for-admins For admins\n-for devs std:label -1 dev/index.html#for-devs For devs\n-for users std:label -1 user/index.html#for-users For users\n-from legacy to xmpp std:label -1 dev/tutorial.html#from-legacy-to-xmpp From legacy to XMPP\n-from xmpp to legacy std:label -1 dev/tutorial.html#from-xmpp-to-legacy From XMPP to legacy\n-functions std:label -1 dev/api/slidge/index.html#$ Functions\n-gajim std:label -1 user/register.html#$ Gajim\n-genindex std:label -1 genindex.html Index\n-glossary std:doc -1 glossary.html Glossary\n-glossary std:label -1 glossary.html#$ Glossary\n-going further std:label -1 dev/tutorial.html#going-further Going further\n-groups std:label -1 user/commands.html#$ Groups\n-guidelines std:label -1 dev/contributing.html#$ Guidelines\n-how to\u2026? std:label -1 dev/howto.html#how-to How to\u2026?\n-http file upload std:label -1 admin/attachments.html#http-file-upload HTTP File Upload\n-index std:doc -1 index.html Slidge\n-indices and tables std:label -1 index.html#indices-and-tables Indices and tables\n-installation std:label -1 admin/install.html#$ Installation\n-jid local parts to legacy ids std:label -1 dev/design.html#jid-local-parts-to-legacy-ids JID local parts to legacy IDs\n-keeping a low profile std:label -1 user/low_profile.html#keeping-a-low-profile Keeping a low profile\n-login std:label -1 dev/tutorial.html#$ Login\n-minimal example std:label -1 dev/tutorial.html#minimal-example Minimal example\n-mod_privilege installation std:label -1 admin/privilege.html#mod-privilege-installation -\n-modindex std:label -1 py-modindex.html Module Index\n-module contents std:label -1 dev/api/superduper/session/index.html#module-contents Module Contents\n-movim std:label -1 user/register.html#$ Movim\n-no upload std:label -1 admin/attachments.html#no-upload No upload\n-other clients std:label -1 user/register.html#other-clients Other clients\n-package contents std:label -1 dev/api/slidge/index.html#package-contents Package Contents\n-pipx std:label -1 admin/install.html#$ -\n-pre-filling contacts and groups std:label -1 dev/design.html#pre-filling-contacts-and-groups Pre-filling contacts and groups\n-privileges std:label -1 admin/privilege.html#$ Privileges\n-privileges configuration std:label -1 admin/privilege.html#privileges-configuration Privileges configuration\n-privileges with ejabberd std:label -1 admin/privilege.html#privileges-with-ejabberd Privileges with ejabberd\n-privileges with prosody std:label -1 admin/privilege.html#privileges-with-prosody Privileges with Prosody\n-prosody std:label -1 admin/component.html#id1 Prosody\n-py-modindex std:label -1 py-modindex.html Python Module Index\n-registration std:label -1 user/register.html#$ Registration\n-running as a daemon std:label -1 admin/daemon.html#running-as-a-daemon Running as a daemon\n-search std:label -1 search.html Search Page\n-setup std:label -1 dev/tutorial.html#$ Setup\n-slidge std:label -1 index.html#$ Slidge\n-slidge design std:label -1 dev/design.html#slidge-design Slidge Design\n-slidge.command std:label -1 dev/api/slidge/command/index.html#module-$ -\n-slidge.command.register std:label -1 dev/api/slidge/command/register/index.html#module-$ -\n-slidge.contact std:label -1 dev/api/slidge/contact/index.html#module-$ -\n-slidge.group std:label -1 dev/api/slidge/group/index.html#module-$ -\n-slidge.main std:label -1 dev/api/slidge/main/index.html#module-$ -\n-submodules std:label -1 dev/api/superduper/index.html#$ Submodules\n-superduper std:label -1 dev/api/superduper/index.html#module-$ -\n-superduper.gateway std:label -1 dev/api/superduper/gateway/index.html#module-$ -\n-superduper.group std:label -1 dev/api/superduper/group/index.html#module-$ -\n-superduper.session std:label -1 dev/api/superduper/session/index.html#module-$ -\n-sync :term:`roster` std:label -1 user/commands.html#sync-roster Sync Roster\n-the gateway component std:label -1 dev/tutorial.html#the-gateway-component The gateway component\n-the legacy session std:label -1 dev/tutorial.html#the-legacy-session The legacy session\n-tutorial: minimal legacy module from scratch std:label -1 dev/tutorial.html#tutorial-minimal-legacy-module-from-scratch Tutorial: minimal legacy module from scratch\n-unregister std:label -1 user/commands.html#$ Unregister\n-user/commands std:doc -1 user/commands.html Commands\n-user/contacts std:doc -1 user/contacts.html Finding legacy contacts\n-user/index std:doc -1 user/index.html For users\n-user/low_profile std:doc -1 user/low_profile.html Keeping a low profile\n-user/note std:doc -1 user/note.html \n-user/register std:doc -1 user/register.html Registration\n-using another xmpp client std:label -1 dev/contributing.html#using-another-xmpp-client Using another XMPP client\n-with containers std:label -1 dev/contributing.html#with-containers With containers\n-without containers std:label -1 dev/contributing.html#without-containers Without containers\n-xmpp server config std:label -1 admin/component.html#xmpp-server-config XMPP server config\n+x\u015dr<\u0014Jf\u608a%SS3\u0232mK#\u007f\u0166HHb,\n+\u0017;~yy~F\u000b\b\u0000&\u0015S89\u0004@,`9tW\u0017W]\\\u064e{'J|;Ab\u0007\u001a8;`\u0007o`l.-0L\u000f}rO~M~ 0i\u0019gq0f\u01f1\u001fm'I\"\u007f& p6C\\l\\\\];v\u0004v\u001b:4\u007fv N\"\u000f\u000e\tf\"Ejs=sVv\u0011N\u001c\u0017>@\u0004YMyKA]!M\u072eo}\u0004\u0013M\u0018$\t%$,\u0764}_]^9[*3\u0002Y\u001eZ63>8[9oK\\h\u0007'=\u0002\u0011\u0006W^_},\f%JZz7\u02d5Z9_%$?\u001el+V\u000e\r\u0016\u071c;r\u0019\u0016\tvSp\u000e\n+\u001b\u001eS\\su\u0019KND\n+\u0002@I,bh;ww\rl+\u0007 xK$^PQ\u01b6\u0013xFG\u0006`z0oW\n+!\b8\u001f\u0006LM\u02e5w\u0019\u00170IPa`;lr\u066f+ihyq\u0001\u000b\u0012\\#\u0012n\u0001l\u000e\u000f\u000650mu\n+iC\u0689de\u07f9)\u000e\u0005o\n+\u000e\r=I\u001c1\u001dv\ue8a9lV@lld/F;th8\u001e\u0006wZFS@\u0001LGN/0r\u0018\u000evRX#\u001f4\u0006\u001b.\"5wcD?7Nz\fA!\b[pXv\u001e\u06bd\u000f\u0017\u0164\u0013\u0018wpcV[\u0012Y\u0002}iFj\u0004~~DZw,\u0011)\u2b12`*e\u0006t(\u007fEEX\u0003\u001bjio2!p\u04b4c\u0002!TZ\u0005*5U\u0011P}%ULb,uo\u0013\u00c26-5\u03063\u0001em\u021e/FS~2{Uz\u0017Op1'|{x\u0003\u0019a2+\u000b\u0227(\n+u=DG\u007f\u0018\u001e\u056c\u0006mfe6lhE\u0019i\"\u001fyt \u0004\tQ\u001f\u6296z\u001e%Ea[HO\n+[\u0510`\u0017~\u0013iP\u0005N J\u000e:\u052b\u0019M\u0000\u0306e\u001akgV\u0016\u0004(\u001c5%\u0015\n+K\u0240\u00046BOQ-V q7dn4\u001af!3vE\"v%a\u0013qQ\u0010\u0004\"0\"`\u0013}v\u0416\u001ah`\u0011\bo\u0012<\u01bb~\u0000\u0014C\u000f\u9da8U\u001a;[a\u0013'8\t}\u03efasW^lcxwTwW#U\u0550\u035d:O/C\r%\u0007)o}7\u000fg)Z2J|hHm4_\u0007\u01cf;{:-t\u073a\u07e0bqd\u3fce4weY\u00005\u0506q_u}\u007fX\fE\u0013\u0002DX#\u0524!>aw*\u03b7\u0013_}\u0015R>]P\u0015\u001d\u001e\u001cFGAdD\u0751\u076f\u001dqxH\u07c8\u07faW5Cu]TzP\tjY\u00149-[e\u0016h\r4\u001bUML<\\7\u0014OO|g+H]SD'\u0019h\u0005Q\u07ee\u0273=4ykv\u001f&\u0007w\u0000\u0002Dq\u0000@QJi\u0018cq\u001eD\u001emOs9y;\u01e1\u0244y=\u07aek.\u0013\u0749Bxw\u001e%zT,:\u05a0Jd\u00065B;U\n+W\"S\\EG\bm\u05a6d@h\u7e4a\u0002\u001a4@v(\u0010\u026equ\u001a9mY,Wcs\"[\u0016#[O+P7U\u001aqc\u001aR@\u0005\u034b\u056ap9Z5,/^F\u0004SU-Te)\u001aH\n+0\u0010\u00156\u007f\u03c5\u000e\u0621!45\u0007\n+\u0018^Cw\u001c(\t3;\u0015u\f+Rx\u0012\u001c0,-'\u00d5\n+(\u0012\f\u0260yRd\u0492d\u001aiy\"gu\f\u001f\u0454!\n+4eBQM\r\u05b8\u000e\u0226,_,)C\u0017n`[\u26d2H\b$9x$\t\u0014r*yqN\u0005,7)\u0015u\u02b0\u001670[#]m1T\u0005I\u0002*\u0001m\u0714Bm\f$+A\u001b\u0000P]o\u0012h1Xg{3Z`\n+^A\u0599* z:unk#T\r/J4\\A?agP\u0002+' \t;rh8j-x.+F4\\a\\,'snh\u0012gtv8WIM\u0014rp*Zh\n+!\u0016\u001eI\u0485F}r\u0583\u0015\u0015\b,\"\u0014Xt\u0000(\t\u001flo=X?\u0000Y\u0011.6\u0312C\u000bRpa$Yh%\u001d\u001d\u0016\u0019bu\u0007\u000b\u001f\u042cM\tfmZx\u00079++q\u0012\u001e\n+\u0016<\u0004UMk:8s&y'\u06ce?O1!u!\u0012P\u0015P\u001dP\to\te*95L]P_wQ([wS(\u001e]WJgmBn\u0012@\u0006Oi[oC8\u000eD\u000bzjV2\u0006dZ\"kDKXnd\u0019&F\u0005\u0004\u0005\u0405=,r\u0175I\u0016Nm\u0516A6\u0649-$\u015fNL&\u0385A\u001eFYj\u02d8Vp\u0000_|[6,E[\u0006=.E _bt\u007f{NQ\u0261-9Jj\u0464+r\u001f/#W%9\u0013\u001c9f\u0007\u001cd\u0007|h_G\u001c\u001c\u001fPy\n+R\u007f\"$aaIV!\b\u0007y-\u0016+\u0001s)9\u00132<\u0007\u01424yNfi\u0010 \u0013I~\u09f3oAdCwB\u001bg\u05e2e9,\u00c8<<)v\u0012?\u00101\rA\u0014zJD3\bM}l\u007fQ\u0001t\u000f\bC*N?(\u0003%\u03c4p\u001fr,*`aA\u0015aT+b\u0005WpT\u076ef~\u007f\u001dlc4]\u0012\u075dz4^kq\bld\u06ccyH\rzrTgG25\u000e\u0002\fl.b(Fu:\u001fEEEQp\u001f+X6\u000e\u0013z\u000b\u0001lx\r\u0006;\u0005L`XE\u001cq\u001bQ\u0602g\u05e2p`_e_\u000btV1]\u0005`x`;(6B\u001d\u0541i\u0010\u04a1\u007f\u001aeL:w\u001c)\u001a4[\u6d80~\u007f\ub7bb\u000eD1Iq$f$0N\u0006+Ywc\u06cf\f\u000b\u000440n@2\u001b.Z2x\u0007:sUU\u000f~6\u02c7K\u001bgqef8ul4\u0007V\u0018q(#qFx&\u07aco7T2h:\u0005D\u001am\u0016hd\u0017\u007f\u0018UF\u0015ZsvT\\\u001d0\u0007b\u007f\u001dT\u0005S\"2lGXf\u0013'aU\u0004?$\u0012w3\to\u00153|\u0014I\n+\u001b\u001dVg\u03c9\u0202I\u001bo%\b\u001ap#'q7\b\u000b~C\u0003 I\"^E\u0018\u0003\n+M\u0014eiNM,!)\u06fc\u0017=;\u001c\n+v\u0012\u0016%\u001f|\u001c\t0C8\u000e,QF\u0003}fLpTc1\u0016$\u3570b\"+\u0010\"\u007f\u007fJFL4vq\" m\rd\u001d-\b,\u073e/f^~yt\r\u001diV9ZF1vU,s>,\u0014S^\u0015)\u0018T\u0001Zu\u0015\t~cV\u0010Q\u0005S=fxK\"EHV$\u0010\u000femV4\u001d:\u0005\r|\u0015\u00180.aZiI\u05882\u02ee-|\u0010\u0016BX\baAE\u0010y\u074b(2V~\t\u001ba2\u0016\u0001)\u001b ?Q{\\f`.w\u0019<\u0014n\t-\u0010>]N\u0015Q(\u0002\u0018n\u0019S\u0011$3\u0001\u0003g.}\u000b=ZU^F?R\u0019^e\f\u0004\u007fO\u0013@\u000eT\u0004q1Fv\u0017\n+2}&bST\u00013 8\u000eEri\u0016\u02465%\u001dAHi@*'=BKkB>\u0016\b~\u0005Q[\u001eV(j!H\u0001'4\u05a9\u0001}4\u0016=M>\u001eG}\u001f\u007faY\u0017\u0007\u007f0>\u000e]\u04f1wB\u0016)J!:d`\u0015%JluVVyB}I-\u0522I5i/p\u0010\u0018\u0016D|=sWqXV\\|/7P\u00a2\u0016\u0016=~K\u0016\u0012E]l\u0002\u01cbL`w4%Q0WJRA\u02c1\u07edL7\u0016 ZG\u0011%3z\u05a3V,nqH[\t\u0017?J\u0016\"3Z~ .v#m\u0006yPJ\u0002::\u0011?\u007fC\u0015oB\u0013Jg\u0004a.\b93B0I\u072a\u0017\u0513A#mSk1K\u0014\u0014\n+#-y\u73fepVKZ\u000e\u000b\u0001\u0018Tx\u0287\u001byM\u0005\n+d\u068e\n+(Z\u001ee\u0016efQ\u067blL\u001cY\u0019\u0012\u0347Ee%fM\u0019gR\u0662+\u04a9%\\R\u03fd\u001d\u001e\rRs\u0010\u0015n\u0017d\u001bQ}y`\u000f*bmT\u0290+3\u007f\u07e7\u001b3\u001a|%\u0576}}!me?f=3MWp;5~t$EPe'.9{w\u0617BDw>.n&n\u000fl\u008f\u0011\u0007\u0010\u0016eX:uaIjE\u0015\b\u0011\u0006\u0012$k\u03b9\u001f\u0007`!pM#c~$c\u001c\u0253\u0006xgyV^,\u045c\n+YG\u0005\u000bef\ro_\u001e\u0003\"AU#FT=s\t(\u0016{/f\t0\u00160cP\u0012\u0016{3/\u0006\u001es4-Ze\u00d7e\u0004FHST\u0015\\\u0006\u0019u\u007f\u0000d\u007f}\n"}]}, {"source1": "./usr/share/doc/python-slidge-doc/html/searchindex.js", "source2": "./usr/share/doc/python-slidge-doc/html/searchindex.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -388,29 +388,23 @@\n ],\n \"access (slidge.command.command attribute)\": [\n [27, \"slidge.command.Command.ACCESS\", false]\n ],\n \"ack() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.ack\", false]\n ],\n- \"ack() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.ack\", false]\n- ],\n \"ack() (superduper.gateway.gateway method)\": [\n [33, \"superduper.gateway.Gateway.ack\", false]\n ],\n \"ack() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.ack\", false]\n ],\n \"active() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.active\", false]\n ],\n- \"active() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.active\", false]\n- ],\n \"active() (superduper.gateway.gateway method)\": [\n [33, \"superduper.gateway.Gateway.active\", false]\n ],\n \"active() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.active\", false]\n ],\n \"ad-hoc command\": [\n@@ -424,53 +418,41 @@\n ],\n \"add_to_roster() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.add_to_roster\", false]\n ],\n \"available_emojis() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.available_emojis\", false]\n ],\n- \"available_emojis() (slidge.group.legacymuc method)\": [\n- [30, \"slidge.group.LegacyMUC.available_emojis\", false]\n- ],\n \"available_emojis() (superduper.group.muc method)\": [\n [34, \"superduper.group.MUC.available_emojis\", false]\n ],\n \"avatar\": [\n [42, \"term-Avatar\", true]\n ],\n \"avatar (slidge.contact.legacycontact property)\": [\n [29, \"slidge.contact.LegacyContact.avatar\", false]\n ],\n- \"avatar (slidge.group.legacymuc property)\": [\n- [30, \"slidge.group.LegacyMUC.avatar\", false]\n- ],\n \"avatar (superduper.group.muc property)\": [\n [34, \"superduper.group.MUC.avatar\", false]\n ],\n \"avatar_id (slidge.contact.legacycontact property)\": [\n [29, \"slidge.contact.LegacyContact.avatar_id\", false]\n ],\n- \"avatar_id (slidge.group.legacymuc property)\": [\n- [30, \"slidge.group.LegacyMUC.avatar_id\", false]\n- ],\n \"avatar_id (superduper.group.muc property)\": [\n [34, \"superduper.group.MUC.avatar_id\", false]\n ],\n \"avatar_id_type (slidge.basegateway attribute)\": [\n [31, \"slidge.BaseGateway.AVATAR_ID_TYPE\", false]\n ],\n \"avatar_id_type (superduper.gateway.gateway attribute)\": [\n [33, \"superduper.gateway.Gateway.AVATAR_ID_TYPE\", false]\n ],\n \"away() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.away\", false]\n ],\n- \"away() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.away\", false]\n- ],\n \"away() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.away\", false]\n ],\n \"b33993e87db3_move_everything_to_persistent_db\": [\n [23, \"module-b33993e87db3_move_everything_to_persistent_db\", false]\n ],\n \"b64b1a793483_add_source_and_legacy_id_for_archived_\": [\n@@ -496,17 +478,14 @@\n ],\n \"bookmarks (class in superduper.group)\": [\n [34, \"superduper.group.Bookmarks\", false]\n ],\n \"busy() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.busy\", false]\n ],\n- \"busy() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.busy\", false]\n- ],\n \"busy() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.busy\", false]\n ],\n \"by_legacy_id() (slidge.contact.legacyroster method)\": [\n [29, \"slidge.contact.LegacyRoster.by_legacy_id\", false]\n ],\n \"c4a8ec35a0e8_per_room_user_nick\": [\n@@ -559,17 +538,14 @@\n ],\n \"component_type (superduper.gateway.gateway attribute)\": [\n [33, \"superduper.gateway.Gateway.COMPONENT_TYPE\", false]\n ],\n \"composing() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.composing\", false]\n ],\n- \"composing() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.composing\", false]\n- ],\n \"composing() (superduper.gateway.gateway method)\": [\n [33, \"superduper.gateway.Gateway.composing\", false]\n ],\n \"composing() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.composing\", false]\n ],\n \"confirm_qr() (slidge.basegateway method)\": [\n@@ -580,17 +556,14 @@\n ],\n \"confirmation (class in slidge.command)\": [\n [27, \"slidge.command.Confirmation\", false]\n ],\n \"correct() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.correct\", false]\n ],\n- \"correct() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.correct\", false]\n- ],\n \"correct() (superduper.gateway.gateway method)\": [\n [33, \"superduper.gateway.Gateway.correct\", false]\n ],\n \"correct() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.correct\", false]\n ],\n \"description (slidge.command.searchresult attribute)\": [\n@@ -598,17 +571,14 @@\n ],\n \"description (slidge.command.tableresult attribute)\": [\n [27, \"slidge.command.TableResult.description\", false]\n ],\n \"displayed() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.displayed\", false]\n ],\n- \"displayed() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.displayed\", false]\n- ],\n \"displayed() (superduper.gateway.gateway method)\": [\n [33, \"superduper.gateway.Gateway.displayed\", false]\n ],\n \"displayed() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.displayed\", false]\n ],\n \"e91195719c2c_store_users_avatars_persistently\": [\n@@ -616,17 +586,14 @@\n ],\n \"entrypoint() (in module slidge)\": [\n [31, \"slidge.entrypoint\", false]\n ],\n \"extended_away() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.extended_away\", false]\n ],\n- \"extended_away() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.extended_away\", false]\n- ],\n \"extended_away() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.extended_away\", false]\n ],\n \"fetch_vcard() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.fetch_vcard\", false]\n ],\n \"fields (slidge.command.searchresult attribute)\": [\n@@ -709,17 +676,14 @@\n ],\n \"get_xml() (slidge.command.tableresult method)\": [\n [27, \"slidge.command.TableResult.get_xml\", false]\n ],\n \"gone() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.gone\", false]\n ],\n- \"gone() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.gone\", false]\n- ],\n \"gone() (superduper.gateway.gateway method)\": [\n [33, \"superduper.gateway.Gateway.gone\", false]\n ],\n \"gone() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.gone\", false]\n ],\n \"group (slidge.group.muctype attribute)\": [\n@@ -751,17 +715,14 @@\n ],\n \"image_url (slidge.command.formfield attribute)\": [\n [27, \"slidge.command.FormField.image_url\", false]\n ],\n \"inactive() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.inactive\", false]\n ],\n- \"inactive() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.inactive\", false]\n- ],\n \"inactive() (superduper.gateway.gateway method)\": [\n [33, \"superduper.gateway.Gateway.inactive\", false]\n ],\n \"inactive() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.inactive\", false]\n ],\n \"input() (slidge.basegateway method)\": [\n@@ -775,17 +736,14 @@\n ],\n \"input() (superduper.session.session method)\": [\n [36, \"superduper.session.Session.input\", false]\n ],\n \"invite_to() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.invite_to\", false]\n ],\n- \"invite_to() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.invite_to\", false]\n- ],\n \"invite_to() (superduper.gateway.gateway method)\": [\n [33, \"superduper.gateway.Gateway.invite_to\", false]\n ],\n \"invite_to() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.invite_to\", false]\n ],\n \"items (slidge.command.searchresult attribute)\": [\n@@ -964,17 +922,14 @@\n ],\n \"official client\": [\n [42, \"term-Official-Client\", true]\n ],\n \"offline() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.offline\", false]\n ],\n- \"offline() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.offline\", false]\n- ],\n \"offline() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.offline\", false]\n ],\n \"on_active() (slidge.basesession method)\": [\n [31, \"slidge.BaseSession.on_active\", false]\n ],\n \"on_active() (superduper.session.session method)\": [\n@@ -1126,29 +1081,23 @@\n ],\n \"on_text() (superduper.session.session method)\": [\n [36, \"superduper.session.Session.on_text\", false]\n ],\n \"online() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.online\", false]\n ],\n- \"online() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.online\", false]\n- ],\n \"online() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.online\", false]\n ],\n \"participant (class in superduper.group)\": [\n [34, \"superduper.group.Participant\", false]\n ],\n \"paused() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.paused\", false]\n ],\n- \"paused() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.paused\", false]\n- ],\n \"paused() (superduper.gateway.gateway method)\": [\n [33, \"superduper.gateway.Gateway.paused\", false]\n ],\n \"paused() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.paused\", false]\n ],\n \"private (slidge.command.formfield attribute)\": [\n@@ -1168,29 +1117,23 @@\n ],\n \"raise_if_not_authorized() (slidge.command.command method)\": [\n [27, \"slidge.command.Command.raise_if_not_authorized\", false]\n ],\n \"react() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.react\", false]\n ],\n- \"react() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.react\", false]\n- ],\n \"react() (superduper.gateway.gateway method)\": [\n [33, \"superduper.gateway.Gateway.react\", false]\n ],\n \"react() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.react\", false]\n ],\n \"received() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.received\", false]\n ],\n- \"received() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.received\", false]\n- ],\n \"received() (superduper.gateway.gateway method)\": [\n [33, \"superduper.gateway.Gateway.received\", false]\n ],\n \"received() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.received\", false]\n ],\n \"registration_fields (slidge.basegateway attribute)\": [\n@@ -1234,17 +1177,14 @@\n ],\n \"resource (slidge.contact.legacycontact attribute)\": [\n [29, \"slidge.contact.LegacyContact.RESOURCE\", false]\n ],\n \"retract() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.retract\", false]\n ],\n- \"retract() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.retract\", false]\n- ],\n \"retract() (superduper.gateway.gateway method)\": [\n [33, \"superduper.gateway.Gateway.retract\", false]\n ],\n \"retract() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.retract\", false]\n ],\n \"roster\": [\n@@ -1279,17 +1219,14 @@\n ],\n \"searchresult (class in slidge.command)\": [\n [27, \"slidge.command.SearchResult\", false]\n ],\n \"send_file() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.send_file\", false]\n ],\n- \"send_file() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.send_file\", false]\n- ],\n \"send_file() (superduper.gateway.gateway method)\": [\n [33, \"superduper.gateway.Gateway.send_file\", false]\n ],\n \"send_file() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.send_file\", false]\n ],\n \"send_gateway_invite() (slidge.basesession method)\": [\n@@ -1327,32 +1264,26 @@\n ],\n \"send_qr() (superduper.session.session method)\": [\n [36, \"superduper.session.Session.send_qr\", false]\n ],\n \"send_text() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.send_text\", false]\n ],\n- \"send_text() (slidge.group.legacyparticipant method)\": [\n- [30, \"slidge.group.LegacyParticipant.send_text\", false]\n- ],\n \"send_text() (superduper.gateway.gateway method)\": [\n [33, \"superduper.gateway.Gateway.send_text\", false]\n ],\n \"send_text() (superduper.group.participant method)\": [\n [34, \"superduper.group.Participant.send_text\", false]\n ],\n \"session (class in superduper.session)\": [\n [36, \"superduper.session.Session\", false]\n ],\n \"set_avatar() (slidge.contact.legacycontact method)\": [\n [29, \"slidge.contact.LegacyContact.set_avatar\", false]\n ],\n- \"set_avatar() (slidge.group.legacymuc method)\": [\n- [30, \"slidge.group.LegacyMUC.set_avatar\", false]\n- ],\n \"set_avatar() (superduper.group.muc method)\": [\n [34, \"superduper.group.MUC.set_avatar\", false]\n ],\n \"sigterminterrupt\": [\n [32, \"slidge.main.SigTermInterrupt\", false]\n ],\n \"single_step_form (slidge.command.register.registrationtype attribute)\": [\n@@ -1696,58 +1627,35 @@\n ],\n \"slidge.group.LegacyMUC\": [\n [30, 2, 1, \"\", \"HAS_DESCRIPTION\"],\n [30, 2, 1, \"\", \"HAS_SUBJECT\"],\n [30, 2, 1, \"\", \"KEEP_BACKFILLED_PARTICIPANTS\"],\n [30, 2, 1, \"\", \"STABLE_ARCHIVE\"],\n [30, 3, 1, \"\", \"add_to_bookmarks\"],\n- [30, 3, 1, \"\", \"available_emojis\"],\n- [30, 5, 1, \"\", \"avatar\"],\n- [30, 5, 1, \"\", \"avatar_id\"],\n [30, 3, 1, \"\", \"backfill\"],\n [30, 3, 1, \"\", \"fill_participants\"],\n [30, 3, 1, \"\", \"get_participant\"],\n [30, 3, 1, \"\", \"get_participant_by_contact\"],\n [30, 3, 1, \"\", \"get_system_participant\"],\n [30, 3, 1, \"\", \"get_user_participant\"],\n [30, 3, 1, \"\", \"kick_resource\"],\n [30, 3, 1, \"\", \"on_avatar\"],\n [30, 3, 1, \"\", \"on_destroy_request\"],\n [30, 3, 1, \"\", \"on_kick\"],\n [30, 3, 1, \"\", \"on_set_affiliation\"],\n [30, 3, 1, \"\", \"on_set_config\"],\n [30, 3, 1, \"\", \"on_set_subject\"],\n [30, 3, 1, \"\", \"remove_participant\"],\n- [30, 3, 1, \"\", \"set_avatar\"],\n [30, 3, 1, \"\", \"update_info\"]\n ],\n \"slidge.group.LegacyParticipant\": [\n- [30, 3, 1, \"\", \"ack\"],\n- [30, 3, 1, \"\", \"active\"],\n- [30, 3, 1, \"\", \"away\"],\n [30, 3, 1, \"\", \"ban\"],\n- [30, 3, 1, \"\", \"busy\"],\n- [30, 3, 1, \"\", \"composing\"],\n- [30, 3, 1, \"\", \"correct\"],\n- [30, 3, 1, \"\", \"displayed\"],\n- [30, 3, 1, \"\", \"extended_away\"],\n- [30, 3, 1, \"\", \"gone\"],\n- [30, 3, 1, \"\", \"inactive\"],\n- [30, 3, 1, \"\", \"invite_to\"],\n [30, 3, 1, \"\", \"kick\"],\n [30, 3, 1, \"\", \"leave\"],\n- [30, 3, 1, \"\", \"offline\"],\n- [30, 3, 1, \"\", \"online\"],\n- [30, 3, 1, \"\", \"paused\"],\n- [30, 3, 1, \"\", \"react\"],\n- [30, 3, 1, \"\", \"received\"],\n- [30, 3, 1, \"\", \"retract\"],\n- [30, 3, 1, \"\", \"send_file\"],\n- [30, 3, 1, \"\", \"send_initial_presence\"],\n- [30, 3, 1, \"\", \"send_text\"]\n+ [30, 3, 1, \"\", \"send_initial_presence\"]\n ],\n \"slidge.group.MucType\": [\n [30, 2, 1, \"\", \"CHANNEL\"],\n [30, 2, 1, \"\", \"CHANNEL_NON_ANONYMOUS\"],\n [30, 2, 1, \"\", \"GROUP\"]\n ],\n \"slidge.main\": [\n@@ -1923,38 +1831,38 @@\n \"00\": [12, 14],\n \"0004\": [27, 31, 33],\n \"0045\": [8, 30, 34],\n \"0050\": [42, 44],\n \"0055\": [31, 33, 36, 45],\n \"0077\": [28, 31, 33, 36, 49],\n \"0084\": [31, 36],\n- \"0085\": [29, 30, 31, 33, 34, 36],\n+ \"0085\": [29, 31, 33, 34, 36],\n \"01\": [16, 18, 21, 26],\n- \"0100\": [29, 30, 31, 33, 34, 42],\n+ \"0100\": [29, 31, 33, 34, 42],\n \"0106\": [29, 30, 34],\n \"0114\": 5,\n- \"0184\": [29, 30, 31, 33, 34],\n+ \"0184\": [29, 31, 33, 34],\n \"02\": [9, 19],\n- \"0203\": [29, 30, 33, 34],\n+ \"0203\": [29, 33, 34],\n \"020569\": 24,\n \"022088\": 20,\n \"022994\": 11,\n- \"0249\": [29, 30, 31, 33, 34, 36],\n+ \"0249\": [29, 31, 33, 34, 36],\n \"0280\": 42,\n- \"0308\": [29, 30, 31, 33, 34, 36],\n- \"0319\": [29, 30, 34],\n- \"0333\": [29, 30, 31, 33, 34, 36],\n+ \"0308\": [29, 31, 33, 34, 36],\n+ \"0319\": [29, 34],\n+ \"0333\": [29, 31, 33, 34, 36],\n \"0356\": [8, 29],\n \"0363\": [0, 4, 29, 31, 36],\n \"04\": 21,\n \"0402\": [8, 30, 34],\n- \"0424\": [29, 30, 31, 33, 34, 36],\n+ \"0424\": [29, 31, 33, 34, 36],\n \"0425\": [31, 36],\n- \"0444\": [29, 30, 31, 33, 34, 36],\n- \"0461\": [29, 30, 31, 33, 34, 36],\n+ \"0444\": [29, 31, 33, 34, 36],\n+ \"0461\": [29, 31, 33, 34, 36],\n \"0469\": [30, 34],\n \"0492\": [30, 34],\n \"04cf35e3cf85\": 9,\n \"05\": 18,\n \"06\": [9, 11, 23, 24, 25, 26],\n \"07\": [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25],\n \"073935\": 16,\n@@ -2038,15 +1946,15 @@\n \"8d2ced764698\": [13, 20],\n \"984943\": 26,\n \"A\": [4, 6, 27, 29, 30, 31, 33, 34, 36, 42],\n \"As\": [2, 5, 43],\n \"At\": [0, 31, 36, 38],\n \"But\": [31, 33],\n \"By\": [2, 3, 29, 30, 31, 33, 34, 38, 41],\n- \"For\": [0, 1, 2, 3, 4, 7, 27, 29, 30, 31, 34, 37, 43, 44, 47, 48, 49],\n+ \"For\": [0, 1, 2, 3, 4, 7, 27, 29, 31, 34, 37, 43, 44, 47, 48, 49],\n \"If\": [1, 6, 8, 27, 29, 30, 31, 33, 34, 36, 37, 45],\n \"In\": [0, 3, 8, 29, 30, 34, 42, 49],\n \"It\": [2, 29, 30, 31, 33, 34, 36],\n \"No\": [4, 5, 43],\n \"Not\": [31, 36],\n \"OR\": 27,\n \"On\": 31,\n@@ -2056,41 +1964,41 @@\n \"These\": [3, 4, 44, 46, 48, 49],\n \"To\": [0, 3, 5, 29, 30, 32, 34, 37, 41, 47, 49],\n \"Will\": [27, 31, 36],\n \"With\": [8, 40, 41, 43],\n \"__init__\": [27, 29, 41],\n \"__main__\": 31,\n \"_privileg\": 4,\n- \"_send\": [29, 30, 33, 34],\n+ \"_send\": [29, 33, 34],\n \"a_real_secret\": 3,\n \"aa9d82a7f6ef\": [21, 26],\n \"abba1ae0edb3\": [15, 22],\n- \"abl\": [29, 30, 33, 34, 38],\n+ \"abl\": [29, 33, 34, 38],\n \"about\": [0, 1, 5, 6, 29, 30, 34, 38, 43],\n \"abov\": 4,\n \"abstract\": [27, 30, 31, 33, 34, 36],\n- \"abus\": [29, 30, 34],\n+ \"abus\": [29, 34],\n \"accept\": [29, 37],\n \"accept_friend_request\": [29, 43],\n \"accept_subscript\": 29,\n \"access\": [0, 4, 27, 29, 31, 41, 43, 47],\n \"access_rul\": [4, 8],\n \"accomplish\": 29,\n \"accord\": [30, 31, 34, 36],\n \"account\": [0, 8, 31, 33, 36, 42, 46, 47, 49],\n \"achiev\": 3,\n- \"ack\": [29, 30, 31, 33, 34, 36, 43],\n- \"acknowledg\": [29, 30, 31, 33, 34, 36],\n+ \"ack\": [29, 31, 33, 34, 36, 43],\n+ \"acknowledg\": [29, 31, 33, 34, 36],\n \"acl\": [0, 4, 8],\n \"across\": [30, 34],\n- \"act\": [29, 30, 34, 46],\n+ \"act\": [29, 34, 46],\n \"action\": [8, 29, 30, 31, 34, 36, 42],\n- \"activ\": [8, 29, 30, 31, 33, 34, 36, 43, 47],\n+ \"activ\": [8, 29, 31, 33, 34, 36, 43, 47],\n \"actor\": 31,\n- \"actual\": [29, 30, 31, 33, 34, 41],\n+ \"actual\": [29, 31, 33, 34, 41],\n \"ad\": [4, 18, 27, 29, 31, 33, 41, 42, 44, 45, 49],\n \"adapt\": 3,\n \"add\": [0, 1, 3, 8, 9, 10, 15, 16, 18, 19, 24, 29, 30, 31, 34, 36, 41, 45],\n \"add_event_handl\": 41,\n \"add_to_bookmark\": [30, 34, 43],\n \"add_to_rost\": [29, 31, 33, 43],\n \"addit\": [1, 4, 27, 29, 30, 31, 33, 34, 36, 44, 47],\n@@ -2113,75 +2021,75 @@\n \"also\": [3, 18, 29, 30, 31, 33, 34, 36, 37, 38, 41],\n \"altern\": [29, 30, 33, 34, 46, 47],\n \"alwai\": [30, 31, 33, 34, 36, 49],\n \"amd64\": 6,\n \"among\": 41,\n \"an\": [0, 1, 2, 4, 5, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 46, 49],\n \"android\": 42,\n- \"ani\": [0, 1, 3, 6, 27, 29, 30, 31, 33, 34, 36, 42, 46],\n+ \"ani\": [0, 1, 3, 6, 27, 29, 31, 33, 34, 36, 42, 46],\n \"announc\": [30, 34],\n \"anonym\": [30, 34],\n- \"anoth\": [10, 29, 30, 31, 32, 33, 34, 36, 40, 43],\n+ \"anoth\": [10, 29, 31, 32, 33, 34, 36, 40, 43],\n \"anotherexampl\": 31,\n \"anymor\": 29,\n \"anyth\": [27, 31, 42],\n \"anywai\": [30, 34],\n \"api\": [27, 29, 31, 41],\n \"app\": [4, 8, 29, 30, 33, 34, 42],\n \"appear\": 29,\n \"appli\": [3, 31, 36, 47],\n \"appropri\": [1, 8, 27, 29, 31, 36, 38],\n \"apt\": 3,\n \"ar\": [2, 3, 4, 6, 27, 29, 30, 31, 33, 34, 36, 41, 42, 44, 46, 47, 48, 49],\n- \"arbitrari\": [29, 30, 31, 33, 34, 36],\n+ \"arbitrari\": [29, 31, 33, 34, 36],\n \"archiv\": [24, 29, 30, 33, 34],\n \"archive_onli\": [29, 30, 33, 34],\n \"arg\": [2, 27, 29, 32],\n \"argument\": [2, 3, 27, 29, 31, 33, 38],\n \"arm64\": 6,\n \"around\": 31,\n \"aspect\": 31,\n \"aspir\": 33,\n \"assign\": [31, 33],\n \"associ\": [27, 29, 30, 33, 34],\n \"assum\": [3, 30, 34],\n \"async\": [27, 29, 30, 31, 33, 34, 36, 41],\n- \"async_data_stream\": [29, 30, 33, 34],\n+ \"async_data_stream\": [29, 33, 34],\n \"asyncio\": [31, 36],\n \"asynciter\": [29, 30, 33, 34],\n- \"attach\": [2, 4, 5, 29, 30, 33, 34, 43],\n+ \"attach\": [2, 4, 5, 29, 33, 34, 43],\n \"attempt\": [29, 30, 31, 34, 36],\n \"attr\": [30, 34],\n \"attribut\": [10, 27, 29, 30, 31, 33, 34, 36, 38, 41],\n \"authent\": [1, 28],\n \"author\": [27, 31, 36],\n \"auto\": [3, 4, 30, 34],\n \"auto_join\": [30, 34],\n \"autom\": 46,\n \"automag\": [31, 33, 38, 41, 45],\n \"automat\": [3, 8, 27, 29, 30, 31, 32, 34, 36, 38],\n \"autoupd\": 3,\n \"avail\": [3, 6, 31, 32, 33, 36],\n- \"available_emoji\": [29, 30, 34, 43],\n+ \"available_emoji\": [29, 34, 43],\n \"avatar\": [22, 26, 29, 30, 31, 33, 34, 36, 38, 42, 43],\n- \"avatar_id\": [29, 30, 34, 43],\n+ \"avatar_id\": [29, 34, 43],\n \"avatar_id_typ\": [31, 33, 43],\n- \"avatar_unique_id\": [29, 30, 34],\n- \"avataridtyp\": [29, 30, 34],\n+ \"avatar_unique_id\": [29, 34],\n+ \"avataridtyp\": [29, 34],\n \"avatarmixin\": [29, 30, 34],\n- \"avatartyp\": [29, 30, 31, 34],\n+ \"avatartyp\": [29, 31, 34],\n \"avoid\": [3, 29, 30, 33, 34],\n- \"awai\": [29, 30, 31, 33, 34, 38, 43],\n+ \"awai\": [29, 31, 33, 34, 38, 43],\n \"await\": [29, 30, 31, 33, 34, 36, 38, 41],\n \"b\": 47,\n \"b33993e87db3\": [20, 23],\n \"b64b1a793483\": [17, 24],\n \"back\": [31, 33, 49],\n \"backfil\": [29, 30, 33, 34, 43],\n- \"backward\": [29, 30, 34],\n+ \"backward\": [29, 34],\n \"ban\": [30, 34, 43],\n \"band\": 49,\n \"bare\": [31, 33],\n \"bare_jid\": [31, 33],\n \"base\": [27, 31, 32, 33, 41, 42],\n \"basegatewai\": [27, 28, 31, 33, 36, 38, 41, 43],\n \"basesess\": [27, 29, 30, 31, 33, 34, 36, 38, 41, 43],\n@@ -2192,64 +2100,64 @@\n \"becaus\": [1, 2, 8, 29, 30, 31, 33, 34, 36, 41],\n \"becom\": [28, 32],\n \"been\": [3, 10, 18, 29, 30, 31, 33, 34, 38],\n \"befor\": [29, 30, 31, 34, 36],\n \"behaviour\": [31, 36],\n \"being\": 47,\n \"below\": [0, 1],\n- \"best\": [29, 30, 33, 34],\n+ \"best\": [29, 33, 34],\n \"beta\": 44,\n \"better\": 29,\n \"between\": [3, 38, 42],\n \"bin\": 3,\n \"bit\": [41, 42],\n \"black\": 37,\n \"bleed\": 6,\n- \"block\": [1, 8, 29, 30, 34],\n+ \"block\": [1, 8, 29, 34],\n \"blog\": 43,\n \"blue\": [31, 36],\n \"bob\": 16,\n- \"bodi\": [29, 30, 33, 34, 41],\n+ \"bodi\": [29, 33, 34, 41],\n \"bogu\": [11, 17],\n \"bookmark\": [8, 30, 34, 43],\n \"bool\": [27, 29, 30, 34],\n \"boolean\": 2,\n \"both\": [4, 8, 42],\n \"box\": 0,\n \"branch\": 32,\n \"break\": 46,\n \"bridg\": [4, 8, 31, 36],\n- \"britnei\": [29, 30, 34],\n+ \"britnei\": [29, 34],\n \"broken\": [4, 17],\n \"browser\": [37, 47],\n \"buddi\": 3,\n \"bug\": 29,\n \"bullsey\": 3,\n \"bunch\": 6,\n \"bundl\": 3,\n- \"busi\": [29, 30, 34, 43],\n+ \"busi\": [29, 34, 43],\n \"bust\": [31, 33],\n \"by_legacy_id\": [29, 30, 34, 41, 43],\n \"byte\": [29, 30, 31, 33, 34, 36],\n \"bytes_\": [31, 36],\n \"c\": [2, 6, 30, 32, 34, 37],\n \"c4a8ec35a0e8\": [14, 25],\n \"ca\": 37,\n \"cach\": [29, 30, 34, 37],\n \"call\": [29, 30, 31, 33, 34, 36, 38, 41, 42],\n \"callabl\": [31, 33],\n \"callback\": 41,\n \"can\": [0, 1, 2, 3, 6, 8, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 41, 42, 44, 45, 46, 49],\n- \"cancel\": [29, 30, 34],\n+ \"cancel\": [29, 34],\n \"cannot\": [30, 34, 45],\n \"cap\": 12,\n- \"capit\": [29, 30, 34],\n+ \"capit\": [29, 34],\n \"caps_ver_bar\": 18,\n- \"caption\": [29, 30, 33, 34],\n- \"carbon\": [4, 29, 30, 33, 34, 42],\n+ \"caption\": [29, 33, 34],\n+ \"carbon\": [4, 29, 33, 34, 42],\n \"care\": 0,\n \"case\": [6, 27, 29, 30, 31, 33, 34, 36, 38, 47],\n \"categori\": [27, 29, 31, 33, 43],\n \"central\": 29,\n \"cert\": 37,\n \"certif\": 37,\n \"cf\": 29,\n@@ -2285,26 +2193,26 @@\n \"commandcategori\": 27,\n \"commandresponsetyp\": 27,\n \"comment\": 4,\n \"commit\": 10,\n \"common\": [3, 5, 31, 32, 33, 43],\n \"commonli\": [30, 31, 34],\n \"commun\": [5, 8, 42],\n- \"compat\": [28, 29, 30, 34],\n+ \"compat\": [28, 29, 34],\n \"complet\": [4, 30, 34],\n \"complex\": 37,\n \"compon\": [0, 1, 2, 3, 4, 5, 8, 31, 33, 36, 37, 42, 43, 44, 46, 49],\n \"component_avatar\": [31, 33, 43],\n \"component_nam\": [31, 33, 41, 43],\n \"component_secret\": [1, 4],\n \"component_typ\": [31, 33, 43],\n \"componentxmpp\": 31,\n- \"compos\": [29, 30, 33, 34, 37, 43],\n+ \"compos\": [29, 33, 34, 37, 43],\n \"con\": 0,\n- \"concern\": [29, 30, 34],\n+ \"concern\": [29, 34],\n \"conf\": [2, 3, 32],\n \"confer\": 43,\n \"config\": [0, 3, 4, 5, 8, 37, 43],\n \"configur\": [0, 1, 5, 30, 31, 32, 33, 34, 43, 47],\n \"confirm\": [27, 28, 29, 30, 31, 33, 34, 43],\n \"confirm_qr\": [28, 31, 33, 43],\n \"confirmationhandlertyp\": 27,\n@@ -2315,28 +2223,28 @@\n \"construct\": [30, 34],\n \"constructor\": 29,\n \"contact\": [8, 12, 15, 19, 20, 22, 27, 30, 31, 33, 34, 36, 40, 41, 42, 43, 46],\n \"contact_id\": 29,\n \"contain\": [1, 5, 6, 29, 31, 40, 43],\n \"container_nam\": 3,\n \"content\": [19, 40, 43],\n- \"content_typ\": [29, 30, 33, 34],\n+ \"content_typ\": [29, 33, 34],\n \"continu\": 31,\n \"contribut\": [1, 3, 40, 43],\n \"control\": 29,\n \"conveni\": [41, 47],\n \"convent\": [32, 42],\n- \"convers\": [29, 30, 34, 46, 49],\n+ \"convers\": [29, 34, 46, 49],\n \"convert\": [29, 31, 33, 36],\n \"cool\": 42,\n \"copi\": 0,\n \"core\": [27, 29, 30, 31, 34, 36],\n \"coroutin\": 38,\n \"correct\": [29, 30, 31, 33, 34, 36, 43],\n- \"correction_event_id\": [29, 30, 33, 34],\n+ \"correction_event_id\": [29, 33, 34],\n \"correctli\": [30, 34],\n \"correspond\": [30, 34],\n \"could\": 41,\n \"cover\": [4, 29],\n \"cp\": 37,\n \"creat\": [3, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 31, 36, 41],\n \"creation\": [21, 31, 36],\n@@ -2346,48 +2254,48 @@\n \"crucial\": 38,\n \"custom\": [29, 31, 33, 36, 38, 41],\n \"d\": [0, 2, 3, 4, 32],\n \"daemon\": [5, 6, 43],\n \"dai\": 0,\n \"dash\": 32,\n \"data\": [5, 27, 29, 30, 31, 33, 34, 36, 37, 43],\n- \"data_stream\": [29, 30, 33, 34],\n+ \"data_stream\": [29, 33, 34],\n \"date\": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26],\n- \"datetim\": [29, 30, 33, 34],\n+ \"datetim\": [29, 33, 34],\n \"db\": [12, 20, 21, 23, 29, 31, 33, 37],\n \"dbm\": 6,\n \"deactiv\": 8,\n \"debian\": [2, 5, 37, 43],\n \"debug\": 32,\n \"decid\": [30, 34],\n \"declar\": 31,\n \"dedic\": [3, 31, 36],\n \"deepli\": [31, 36],\n \"def\": 41,\n \"default\": [2, 3, 29, 30, 31, 33, 34, 36],\n \"defin\": [8, 27, 28, 29, 31, 33, 36, 37, 38],\n \"definit\": [31, 36],\n- \"delai\": [29, 30, 33, 34],\n+ \"delai\": [29, 33, 34],\n \"delet\": [0, 29, 30, 33, 34],\n- \"deliveri\": [29, 30, 31, 33, 34],\n+ \"deliveri\": [29, 31, 33, 34],\n \"depend\": [31, 41, 46],\n \"depth\": 0,\n \"describ\": [3, 31, 33, 36],\n \"descript\": [27, 30, 34, 43],\n \"design\": [40, 43],\n \"desktop\": 42,\n \"destin\": 41,\n \"destruct\": [30, 34],\n \"detach\": 3,\n- \"detail\": [0, 6, 29, 30, 31, 33, 34, 42],\n+ \"detail\": [0, 6, 29, 31, 33, 34, 42],\n \"detect\": [38, 47],\n \"determin\": [31, 33],\n \"dev\": [32, 43],\n \"develop\": [40, 43],\n- \"devic\": [29, 30, 31, 33, 34],\n+ \"devic\": [29, 31, 33, 34],\n \"dialog\": [27, 31],\n \"dict\": [27, 31, 33, 36, 41],\n \"differ\": [1, 42, 49],\n \"dino\": 46,\n \"dir\": 32,\n \"dir1\": 2,\n \"dir2\": 2,\n@@ -2396,18 +2304,18 @@\n \"directli\": [0, 31, 33, 37, 41],\n \"directori\": [0, 3],\n \"disco\": [29, 31, 33],\n \"discov\": [44, 49],\n \"discoveri\": [31, 33],\n \"discrimin\": 38,\n \"disk\": [30, 34],\n- \"displai\": [27, 29, 30, 31, 33, 34, 43],\n+ \"displai\": [27, 29, 31, 33, 34, 43],\n \"dissect\": 41,\n \"distro\": [3, 6],\n- \"dnd\": [29, 30, 31, 34, 36],\n+ \"dnd\": [29, 31, 34, 36],\n \"do\": [0, 1, 3, 27, 29, 30, 31, 33, 34, 36, 41],\n \"doc\": [0, 1, 2, 5, 7, 44, 46, 48, 49],\n \"docker\": [3, 37],\n \"dockerhub\": [5, 43],\n \"docroot\": [0, 4],\n \"document\": [0, 1, 3],\n \"doe\": [0, 1, 3, 4, 27, 30, 31, 33, 34, 43],\n@@ -2417,40 +2325,40 @@\n \"done\": [8, 29, 38, 42, 49],\n \"doubl\": 32,\n \"download\": 6,\n \"driver\": 3,\n \"drop\": 18,\n \"dude\": [31, 36],\n \"duper\": [3, 5, 37, 41],\n- \"duplic\": [29, 30, 33, 34],\n- \"dure\": [3, 29, 30, 33, 34, 37],\n+ \"duplic\": [29, 33, 34],\n+ \"dure\": [3, 29, 33, 34, 37],\n \"e\": [2, 3, 29, 30, 31, 34, 36],\n \"e91195719c2c\": [23, 26],\n \"each\": [1, 27, 31, 36],\n \"earli\": [30, 34],\n \"easi\": [8, 47],\n \"easier\": 0,\n \"easiest\": [8, 37],\n \"easili\": 0,\n \"echo\": 3,\n \"edg\": 6,\n \"edit\": [2, 3, 30, 31, 34, 36],\n \"effect\": [29, 30, 31, 34, 41],\n- \"effici\": [29, 30, 34],\n+ \"effici\": [29, 34],\n \"eg\": [0, 1, 2, 4, 27, 28, 29, 30, 31, 32, 33, 34, 36, 42],\n \"either\": [8, 27, 29, 31, 42, 44, 49],\n \"ejabberd\": [5, 43],\n \"ejabberd_http\": [0, 4],\n \"ejabberd_servic\": [1, 4],\n \"element\": [31, 36],\n \"els\": [30, 31, 33, 34],\n \"elsewher\": [30, 34],\n \"email\": 28,\n \"eman\": [30, 31, 34, 36],\n- \"emoji\": [8, 29, 30, 31, 33, 34, 36],\n+ \"emoji\": [8, 29, 31, 33, 34, 36],\n \"empti\": [0, 31, 36],\n \"enabl\": 3,\n \"encod\": [31, 36],\n \"enough\": 29,\n \"ensur\": [29, 30, 34],\n \"enter\": [31, 33],\n \"entir\": 1,\n@@ -2474,19 +2382,19 @@\n \"examin\": 3,\n \"exampl\": [1, 3, 5, 8, 29, 30, 31, 32, 33, 34, 35, 36, 40, 42, 43, 46, 49],\n \"except\": [31, 33, 43],\n \"exist\": [27, 41],\n \"exit\": [6, 32],\n \"expect\": [31, 33],\n \"experi\": 8,\n- \"explain\": [1, 29, 30, 33, 34],\n+ \"explain\": [1, 29, 33, 34],\n \"export\": 3,\n \"expos\": 37,\n- \"extend\": [29, 30, 31, 33, 34],\n- \"extended_awai\": [29, 30, 34, 43],\n+ \"extend\": [29, 31, 33, 34],\n+ \"extended_awai\": [29, 34, 43],\n \"extens\": [3, 30, 34],\n \"extern\": 4,\n \"extra\": [31, 36],\n \"face\": 38,\n \"fail\": 31,\n \"fake\": [33, 37, 41],\n \"fall\": 49,\n@@ -2499,20 +2407,20 @@\n \"fetch\": [29, 30, 34, 40, 43],\n \"fetch_vcard\": [29, 43],\n \"few\": 46,\n \"fiction\": 5,\n \"field\": [27, 30, 31, 33, 34, 41, 43],\n \"field_typ\": 27,\n \"fieldtyp\": 27,\n- \"fight\": [29, 30, 34, 47],\n+ \"fight\": [29, 34, 47],\n \"file\": [2, 3, 4, 5, 29, 30, 31, 32, 33, 34, 36, 41, 43],\n- \"file_nam\": [29, 30, 33, 34],\n- \"file_path\": [29, 30, 33, 34],\n- \"file_url\": [29, 30, 33, 34],\n- \"filenam\": [29, 30, 33, 34],\n+ \"file_nam\": [29, 33, 34],\n+ \"file_path\": [29, 33, 34],\n+ \"file_url\": [29, 33, 34],\n+ \"filenam\": [29, 33, 34],\n \"fill\": [4, 27, 29, 30, 34, 40, 41, 43],\n \"fill_first\": [30, 34],\n \"fill_histori\": [30, 34],\n \"fill_particip\": [30, 34, 43],\n \"final\": [28, 31, 33],\n \"find\": [0, 43, 46],\n \"firefox\": 47,\n@@ -2548,15 +2456,15 @@\n \"further\": [40, 43],\n \"g\": [2, 3, 29, 30, 31, 34, 36],\n \"gajim\": [37, 43, 46],\n \"garden\": [4, 8],\n \"gatewai\": [1, 3, 8, 27, 29, 30, 31, 34, 35, 36, 37, 42, 43, 44, 49],\n \"gatewayus\": [27, 31, 33, 36, 41],\n \"gdbm\": 6,\n- \"gener\": [0, 3, 5, 29, 30, 31, 33, 34, 36, 43, 44, 45, 46, 48, 49],\n+ \"gener\": [0, 3, 5, 29, 31, 33, 34, 36, 43, 44, 45, 46, 48, 49],\n \"get\": [0, 4, 27, 29, 30, 31, 33, 34, 36],\n \"get_form\": [27, 43],\n \"get_msg_xmpp_id_up_to\": [29, 43],\n \"get_particip\": [30, 34, 43],\n \"get_participant_by_contact\": [30, 34, 43],\n \"get_qr_text\": [28, 31, 33, 43],\n \"get_system_particip\": [30, 34, 43],\n@@ -2569,46 +2477,46 @@\n \"given\": [1, 27, 29, 30, 31, 33, 34, 36, 46],\n \"global\": [29, 30, 31, 34, 36],\n \"global_rout\": 4,\n \"glossari\": 43,\n \"gnu\": 6,\n \"go\": [8, 30, 34, 40, 43, 49],\n \"goe\": [31, 36],\n- \"gone\": [29, 30, 33, 34, 43],\n+ \"gone\": [29, 33, 34, 43],\n \"good\": [31, 36, 37, 41],\n \"great\": [33, 41],\n \"group\": [27, 29, 31, 33, 35, 36, 40, 42, 43, 46],\n \"group_id\": [30, 34],\n \"guarante\": [30, 34],\n \"guess\": 45,\n \"guid\": 5,\n \"guidelin\": [40, 43],\n \"ha\": [0, 4, 29, 30, 31, 33, 34, 36, 42],\n \"hacki\": [31, 36],\n \"hand\": 31,\n \"handi\": 37,\n- \"handl\": [0, 2, 28, 29, 30, 31, 34],\n+ \"handl\": [0, 2, 28, 29, 31, 34],\n \"handler\": [27, 41, 43],\n \"handler_arg\": [27, 43],\n \"handler_kwarg\": [27, 43],\n \"happen\": [3, 28, 31, 33, 44],\n \"has_descript\": [30, 34, 43],\n \"has_subject\": [30, 34, 43],\n \"hash\": [26, 31, 36],\n \"hash_\": [31, 36],\n \"hasn\": 29,\n \"hat\": [30, 34],\n \"have\": [0, 3, 10, 18, 29, 30, 31, 34, 37, 38, 41, 45, 47, 49],\n \"header\": 27,\n \"height\": [31, 36],\n \"help\": [27, 30, 31, 33, 34, 43, 44],\n- \"here\": [0, 3, 6, 8, 29, 30, 31, 33, 34, 41],\n+ \"here\": [0, 3, 6, 8, 29, 31, 33, 34, 41],\n \"hierarchi\": 27,\n \"higher\": 31,\n- \"hint\": [29, 30, 33, 34],\n+ \"hint\": [29, 33, 34],\n \"histori\": [29, 30, 33, 34, 42],\n \"history_fil\": 18,\n \"hoc\": [27, 42, 44, 49],\n \"hole\": [30, 34],\n \"holebound\": [30, 34],\n \"home\": [3, 32],\n \"home_dir\": 32,\n@@ -2648,62 +2556,62 @@\n \"imag\": [3, 27, 30, 31, 33, 34, 36],\n \"image_url\": [27, 43],\n \"immedi\": [30, 34],\n \"imperson\": 29,\n \"implement\": [27, 29, 30, 31, 33, 34, 36, 37],\n \"import\": [6, 27, 31, 38, 41],\n \"imposs\": 2,\n- \"inact\": [29, 30, 31, 33, 34, 36, 43],\n+ \"inact\": [29, 31, 33, 34, 36, 43],\n \"includ\": [8, 21, 29],\n \"incom\": [31, 33, 36, 41],\n \"incoming_legacy_messag\": 41,\n \"incomingmessageev\": 41,\n \"incompat\": 3,\n \"incorpor\": 29,\n \"independ\": 5,\n \"index\": 43,\n \"indic\": [30, 31, 34, 36],\n \"individu\": 1,\n \"inevit\": 3,\n- \"infer\": [29, 30, 33, 34],\n+ \"infer\": [29, 33, 34],\n \"info\": [0, 1, 27, 40, 43],\n \"inform\": [0, 6, 29, 30, 34, 38, 42],\n \"inherit\": 31,\n \"ini\": 32,\n \"initi\": 31,\n \"input\": [27, 31, 33, 36, 43],\n \"insert\": [31, 36],\n \"insid\": [3, 32],\n \"instal\": [5, 37, 43],\n \"instanc\": [3, 29, 30, 31, 33, 34, 36, 41, 46, 47],\n \"instanti\": [29, 30, 31, 33, 34, 36],\n \"instead\": [2, 30, 31, 33, 34],\n \"instruct\": [3, 6, 31, 33, 49],\n \"int\": [29, 30, 31, 33, 34, 36],\n- \"interact\": [3, 29, 30, 31, 33, 34, 42, 46],\n- \"interfac\": [27, 29, 30, 33, 34, 42, 47],\n- \"intermedi\": [29, 30, 33, 34],\n+ \"interact\": [3, 29, 31, 33, 34, 42, 46],\n+ \"interfac\": [27, 29, 33, 34, 42, 47],\n+ \"intermedi\": [29, 33, 34],\n \"intern\": [27, 29, 30, 33, 34],\n \"interpret\": [31, 36],\n \"invalid\": 38,\n \"invers\": 29,\n \"invit\": [29, 30, 31, 33, 34, 36],\n \"invite\": [31, 36],\n- \"invite_to\": [29, 30, 33, 34, 43],\n+ \"invite_to\": [29, 33, 34, 43],\n \"involv\": 37,\n- \"io\": [3, 29, 30, 33, 34],\n+ \"io\": [3, 29, 33, 34],\n \"ip\": [1, 4, 47],\n \"iq\": [4, 8, 30, 31, 33, 34, 36],\n \"is_friend\": 29,\n \"is_system\": [30, 34],\n \"is_us\": [30, 34],\n \"ish\": 0,\n \"issu\": [8, 43],\n \"item\": [27, 30, 31, 33, 34, 43],\n- \"iter\": [27, 29, 30, 31, 33, 34, 36],\n+ \"iter\": [27, 29, 31, 33, 34, 36],\n \"its\": [3, 5, 27, 29, 31, 36, 41],\n \"itself\": [30, 31, 34],\n \"jabber\": [4, 5, 8, 27, 31, 33, 36, 45],\n \"jid\": [0, 1, 3, 27, 28, 29, 30, 31, 33, 34, 37, 40, 41, 42, 43, 44, 45, 46, 49],\n \"jid_usernam\": 29,\n \"jid_username_to_legacy_id\": [29, 30, 34, 38, 43],\n \"join\": [29, 30, 31, 33, 34, 36],\n@@ -2720,106 +2628,106 @@\n \"kick_resourc\": [30, 34, 43],\n \"kindli\": 6,\n \"know\": [1, 30, 34],\n \"known\": [30, 34, 38],\n \"kwarg\": [29, 30, 31, 33, 34, 36, 41],\n \"label\": [3, 27, 43],\n \"last\": [1, 29, 30, 33, 34],\n- \"last_seen\": [29, 30, 34],\n- \"later\": [29, 30, 31, 33, 34, 36],\n+ \"last_seen\": [29, 34],\n+ \"later\": [29, 31, 33, 34, 36],\n \"latest\": [3, 29, 31, 33],\n \"launch\": [2, 3, 6, 31, 32, 37, 38, 41],\n \"leav\": [30, 31, 34, 36, 43],\n \"left\": [30, 34],\n \"legaci\": [2, 4, 5, 6, 7, 8, 17, 22, 24, 27, 28, 29, 30, 31, 33, 34, 35, 36, 40, 42, 43, 44, 46, 47, 48, 49],\n \"legacy_contact_id_typ\": [31, 33, 43],\n \"legacy_data\": [31, 33],\n- \"legacy_file_id\": [29, 30, 33, 34],\n+ \"legacy_file_id\": [29, 33, 34],\n \"legacy_id\": [29, 30, 34, 38, 41, 43],\n \"legacy_id_to_jid_usernam\": [29, 30, 34, 38, 43],\n \"legacy_modul\": 38,\n \"legacy_module_data\": [31, 33],\n- \"legacy_msg_id\": [29, 30, 31, 33, 34, 36, 41],\n+ \"legacy_msg_id\": [29, 31, 33, 34, 36, 41],\n \"legacy_msg_id_typ\": [31, 33, 43],\n \"legacy_room_id_typ\": [31, 33, 43],\n \"legacy_to_xmpp_msg_id\": [31, 36, 43],\n \"legacybookmark\": [30, 34, 38, 43],\n \"legacycontact\": [29, 30, 31, 33, 34, 36, 38, 41, 42, 43],\n \"legacycontacttyp\": 29,\n- \"legacyfileidtyp\": [29, 30, 34],\n+ \"legacyfileidtyp\": [29, 34],\n \"legacygroupidtyp\": [30, 31, 34, 36],\n- \"legacymessagetyp\": [29, 30, 31, 33, 34, 36],\n+ \"legacymessagetyp\": [29, 31, 33, 34, 36],\n \"legacymuc\": [29, 30, 31, 33, 34, 36, 38, 43],\n \"legacyparticip\": [30, 31, 36, 43],\n \"legacyparticipanttyp\": [30, 34],\n \"legacyrost\": [29, 38, 43],\n- \"legacythreadtyp\": [29, 30, 31, 33, 34, 36],\n+ \"legacythreadtyp\": [29, 31, 33, 34, 36],\n \"legacyuseridtyp\": 29,\n \"let\": [0, 3, 41],\n \"level\": [0, 27, 31, 36],\n \"lib\": [0, 3, 4, 41],\n \"librari\": 41,\n \"lift\": 17,\n \"like\": [0, 29, 30, 31, 34, 36, 37, 42, 45],\n \"limit\": [31, 33],\n \"line\": [0, 1, 3, 4],\n \"linger\": 3,\n- \"link\": [29, 30, 31, 33, 34, 36, 44, 46, 48, 49],\n- \"link_preview\": [29, 30, 31, 33, 34, 36],\n- \"linkpreview\": [29, 30, 31, 33, 34, 36],\n+ \"link\": [29, 31, 33, 34, 36, 44, 46, 48, 49],\n+ \"link_preview\": [29, 31, 33, 34, 36],\n+ \"linkpreview\": [29, 31, 33, 34, 36],\n \"list\": [0, 8, 27, 29, 30, 31, 33, 34, 36, 42, 44],\n- \"listen\": [0, 1, 4, 29, 30, 31, 34, 36],\n- \"littl\": [29, 30, 33, 34],\n+ \"listen\": [0, 1, 4, 29, 31, 34, 36],\n+ \"littl\": [29, 33, 34],\n \"ll\": 5,\n- \"local\": [0, 1, 4, 29, 30, 34, 37, 40, 42, 43, 45],\n+ \"local\": [0, 1, 4, 29, 34, 37, 40, 42, 43, 45],\n \"localhost\": [1, 3, 37],\n \"locat\": [0, 3],\n \"lock\": 46,\n \"log\": [2, 3, 31, 33, 36, 41, 46],\n \"logic\": [29, 30, 31, 34, 36],\n \"login\": [3, 28, 30, 31, 33, 34, 36, 37, 38, 43],\n \"loginctl\": 3,\n \"logout\": [31, 33, 36, 43],\n- \"long\": [1, 27, 29, 30, 32, 33, 34],\n+ \"long\": [1, 27, 29, 32, 33, 34],\n \"look\": [6, 29, 41],\n \"lot\": 37,\n \"low\": [31, 36, 43, 46],\n \"lua\": [1, 8],\n \"lucki\": 41,\n \"made\": 31,\n \"mai\": [0, 42, 44],\n \"main\": [31, 38, 43],\n- \"maintain\": [29, 30, 34],\n+ \"maintain\": [29, 34],\n \"make\": [0, 1, 3, 6, 8, 27, 29, 30, 31, 33, 34, 44, 49],\n \"mandatori\": [27, 29],\n \"mani\": 29,\n \"manual\": [0, 29],\n \"map\": [3, 29, 30, 31, 34, 38, 41],\n \"mark\": [29, 31, 33, 36],\n \"mark_all_messag\": [31, 33, 43],\n- \"marker\": [29, 30, 33, 34],\n+ \"marker\": [29, 33, 34],\n \"match\": 44,\n \"matridg\": [2, 5, 7, 44, 46, 48, 49],\n \"matteridg\": [2, 5, 7, 44, 46, 48, 49],\n \"mattermost\": [31, 36, 46, 47],\n \"max\": 0,\n- \"mayb\": [29, 30, 33, 34],\n+ \"mayb\": [29, 33, 34],\n \"mean\": [30, 31, 33, 34, 36, 46],\n \"meant\": [4, 29, 30, 31, 33, 34],\n \"measur\": 46,\n \"mechan\": [3, 30, 31, 34, 36, 41],\n \"member\": [30, 31, 34, 36],\n \"mention\": [31, 36],\n \"menu\": 49,\n \"merge_resourc\": [31, 36],\n \"merged_resourc\": [31, 36],\n \"mess\": [2, 10, 37],\n \"messag\": [4, 8, 24, 27, 29, 30, 31, 33, 34, 36, 41, 42, 45, 46],\n \"message_ids_are_thread_id\": [31, 36, 43],\n- \"messagerefer\": [29, 30, 33, 34],\n+ \"messagerefer\": [29, 33, 34],\n \"messagetyp\": [31, 33],\n \"messlidg\": [2, 5, 7, 44, 46, 48, 49],\n \"method\": [29, 30, 31, 33, 34, 36, 41],\n \"mib\": 0,\n \"might\": [0, 3, 8, 29, 31, 33, 49],\n \"migrat\": 21,\n \"mime\": [29, 30, 31, 33, 34, 36],\n@@ -2867,15 +2775,15 @@\n \"nb\": [31, 36, 37],\n \"necessari\": [28, 30, 34],\n \"necessarili\": [31, 36],\n \"need\": [0, 3, 4, 8, 29, 30, 31, 33, 34, 36, 38, 44],\n \"network\": [3, 5, 28, 29, 30, 31, 33, 34, 36, 41, 42, 44, 45, 46, 47, 48, 49],\n \"never\": [18, 29],\n \"new\": [3, 29, 30, 31, 33, 34, 36, 41, 49],\n- \"new_text\": [29, 30, 33, 34],\n+ \"new_text\": [29, 33, 34],\n \"newer\": 8,\n \"next\": 4,\n \"nginx\": [4, 5, 43],\n \"nick\": 25,\n \"nick_chang\": [30, 34],\n \"nicknam\": [14, 29, 30, 31, 34, 36],\n \"nickname_no_illeg\": [9, 30, 34],\n@@ -2887,21 +2795,21 @@\n \"normal\": [0, 46, 47],\n \"notabl\": [31, 33],\n \"note\": 4,\n \"notif\": [29, 30, 33, 34],\n \"notifi\": [30, 34],\n \"now\": [0, 3, 41, 42],\n \"number\": [30, 31, 33, 34, 45, 46],\n- \"object\": [29, 30, 31, 33, 34, 36],\n+ \"object\": [29, 31, 33, 34, 36],\n \"obtain\": [30, 34],\n \"off\": 2,\n \"offici\": [3, 8, 28, 29, 30, 33, 34, 42],\n- \"offlin\": [29, 30, 31, 34, 36, 43],\n+ \"offlin\": [29, 31, 34, 36, 43],\n \"often\": [31, 45],\n- \"okish\": [29, 30, 34],\n+ \"okish\": [29, 34],\n \"old\": [0, 42],\n \"older\": 0,\n \"on_act\": [31, 36, 43],\n \"on_avatar\": [30, 31, 34, 36, 43],\n \"on_compos\": [31, 36, 43],\n \"on_correct\": [31, 36, 43],\n \"on_create_group\": [31, 36, 43],\n@@ -2928,25 +2836,25 @@\n \"on_text\": [31, 36, 41, 43],\n \"onc\": [29, 30, 31, 33, 34, 36],\n \"one\": [0, 29, 30, 31, 33, 34, 36],\n \"onli\": [0, 8, 27, 28, 29, 30, 31, 33, 34, 36],\n \"onlin\": [29, 30, 31, 34, 36, 43],\n \"open\": [31, 33],\n \"oper\": [29, 30, 34],\n- \"oppos\": [29, 30, 34],\n+ \"oppos\": [29, 34],\n \"opt\": 2,\n \"option\": [0, 1, 2, 3, 4, 5, 7, 27, 28, 29, 30, 31, 33, 34, 36],\n \"order\": [0, 29],\n \"org\": [0, 1, 3, 4, 6, 8, 29, 31, 32, 33, 41, 42, 43, 46, 49],\n \"other\": [0, 1, 3, 4, 8, 29, 31, 41, 43, 46],\n \"otherwis\": 31,\n \"our\": 41,\n \"out\": [0, 31, 36],\n \"outcast\": [30, 34],\n- \"outgo\": [4, 8, 29, 30, 33, 34, 42],\n+ \"outgo\": [4, 8, 29, 33, 34, 42],\n \"outsid\": [30, 34, 37],\n \"overlap\": 3,\n \"overrid\": [29, 30, 31, 33, 34, 36, 38, 41],\n \"overridden\": [29, 30, 31, 34, 36],\n \"overriden\": 31,\n \"overview\": 43,\n \"own\": [2, 5, 7, 29],\n@@ -2954,24 +2862,24 @@\n \"p\": [3, 30, 34, 37],\n \"packag\": [2, 5, 6, 40, 43],\n \"page\": [3, 43],\n \"paramet\": [27, 29, 30, 31, 33, 34, 36],\n \"pars\": 27,\n \"part\": [1, 4, 10, 29, 30, 34, 40, 41, 42, 43, 45],\n \"particip\": [9, 20, 30, 31, 34, 36, 43],\n- \"pass\": [3, 27, 29, 30, 31, 33, 34, 36, 37],\n- \"password\": [1, 4, 29, 30, 31, 33, 34, 36, 37, 41],\n- \"path\": [0, 2, 4, 29, 30, 31, 32, 33, 34],\n- \"pathlib\": [29, 30, 33, 34],\n- \"paus\": [29, 30, 31, 33, 34, 36, 43],\n+ \"pass\": [3, 27, 29, 31, 33, 34, 36, 37],\n+ \"password\": [1, 4, 29, 31, 33, 34, 36, 37, 41],\n+ \"path\": [0, 2, 4, 29, 31, 32, 33, 34],\n+ \"pathlib\": [29, 33, 34],\n+ \"paus\": [29, 31, 33, 34, 36, 43],\n \"pc\": 29,\n \"pend\": [31, 33],\n \"per\": [0, 3, 25, 30, 31, 33, 34],\n \"perform\": [29, 31, 36],\n- \"period\": [29, 30, 33, 34],\n+ \"period\": [29, 33, 34],\n \"perman\": [30, 34],\n \"permiss\": 3,\n \"permit\": 33,\n \"persist\": [5, 23, 26, 30, 31, 33, 34, 43],\n \"pfrom\": 31,\n \"phone\": [31, 33, 45, 46],\n \"pictur\": 42,\n@@ -2988,33 +2896,33 @@\n \"popul\": 29,\n \"port\": [0, 1, 4, 37],\n \"posit\": 29,\n \"possibl\": [3, 29, 30, 31, 34, 36, 37],\n \"post\": 43,\n \"potenti\": [31, 36],\n \"pre\": [27, 40, 43],\n- \"prefer\": [29, 30, 34, 49],\n+ \"prefer\": [29, 34, 49],\n \"prefix\": [0, 32],\n \"presenc\": [29, 30, 31, 34, 36, 45],\n \"presence_id\": [30, 34],\n \"presenceshow\": [31, 36],\n \"present\": [27, 30, 31, 33, 34, 36, 44],\n \"preserv\": [30, 34],\n \"pretti\": [42, 47],\n \"prevent\": 47,\n- \"preview\": [29, 30, 31, 33, 34, 36],\n- \"previous\": [29, 30, 33, 34],\n+ \"preview\": [29, 31, 33, 34, 36],\n+ \"previous\": [29, 33, 34],\n \"privat\": [27, 30, 43],\n \"privileg\": [1, 4, 5, 30, 34, 43],\n \"privileged_ent\": [4, 8],\n \"pro\": 0,\n \"probabl\": [30, 34, 38],\n \"problem\": 46,\n \"process\": [1, 5, 31, 33],\n- \"processinghint\": [29, 30, 33, 34],\n+ \"processinghint\": [29, 33, 34],\n \"processon\": 8,\n \"profil\": [29, 37, 42, 43, 46],\n \"profound\": [31, 36],\n \"promot\": [30, 34],\n \"prompt\": [27, 31, 33, 36, 43],\n \"proper\": [30, 31, 33, 34, 38],\n \"proper_receipt\": [31, 33, 43],\n@@ -3035,76 +2943,76 @@\n \"push\": [30, 34],\n \"put\": [32, 41],\n \"put_url\": [0, 4],\n \"py\": [27, 31, 41],\n \"pypi\": 6,\n \"pyproject\": 37,\n \"pytest\": 37,\n- \"python\": [29, 30, 34, 41, 43],\n+ \"python\": [29, 34, 41, 43],\n \"python3\": 6,\n \"qr\": [27, 28, 31, 33, 36],\n \"qrcode\": [28, 31, 33, 43],\n \"queri\": [29, 31, 36],\n- \"quot\": [29, 30, 31, 33, 34, 36],\n+ \"quot\": [29, 31, 33, 34, 36],\n \"quota\": 0,\n \"r\": [30, 34],\n \"rais\": [27, 28, 30, 31, 33, 34, 36, 38],\n \"raise_if_not_author\": [27, 43],\n \"raise_if_not_found\": [30, 34],\n- \"random\": [29, 30, 33, 34, 45],\n+ \"random\": [29, 33, 34, 45],\n \"rang\": 3,\n \"rather\": [4, 29],\n \"raver\": 6,\n \"re\": [4, 6, 30, 34],\n \"reach\": 46,\n- \"react\": [29, 30, 31, 33, 34, 36, 43],\n+ \"react\": [29, 31, 33, 34, 36, 43],\n \"reaction\": [8, 29, 30, 31, 33, 34, 36],\n- \"read\": [0, 4, 8, 29, 30, 31, 33, 34, 36],\n+ \"read\": [0, 4, 8, 29, 31, 33, 34, 36],\n \"readabl\": [0, 31, 36, 45],\n \"readm\": 6,\n \"real\": [1, 31, 33],\n \"realist\": [30, 34],\n \"realli\": [30, 34, 41],\n \"reason\": [29, 30, 31, 33, 34, 36],\n \"rebas\": 10,\n- \"receipt\": [29, 30, 31, 33, 34],\n+ \"receipt\": [29, 31, 33, 34],\n \"receiv\": [0, 27, 28, 29, 30, 31, 33, 34, 36, 41, 43, 46],\n \"recent\": [30, 34],\n- \"recipi\": [29, 30, 31, 33, 34, 36, 41],\n+ \"recipi\": [29, 31, 33, 34, 36, 41],\n \"recipienttyp\": [31, 36],\n \"reciproc\": 29,\n \"recommend\": [0, 2, 3, 8, 29, 30, 31, 34, 36],\n \"red\": [31, 36],\n- \"refer\": [2, 5, 7, 29, 30, 31, 33, 34, 36, 37, 41, 42],\n- \"reflect\": [8, 29, 30, 33, 34],\n+ \"refer\": [2, 5, 7, 29, 31, 33, 34, 36, 37, 41, 42],\n+ \"reflect\": [8, 29, 33, 34],\n \"refus\": 29,\n \"regist\": [0, 27, 31, 33, 36, 37, 42, 43, 49],\n \"registr\": [28, 31, 33, 36, 41, 43, 45, 46],\n \"registrar\": [29, 31, 33],\n \"registration_field\": [28, 31, 33, 41, 43],\n \"registration_form\": [27, 31, 33, 41],\n \"registration_instruct\": [28, 31, 33, 43],\n \"registration_typ\": [31, 33, 43],\n \"registrationtyp\": [28, 31, 33, 43],\n \"regularli\": 0,\n \"reject_friend_request\": [29, 43],\n \"reject_subscript\": 29,\n- \"rel\": [29, 30, 33, 34],\n+ \"rel\": [29, 33, 34],\n \"relat\": [29, 30, 31],\n \"releas\": 6,\n \"relev\": 4,\n \"reli\": [20, 29],\n \"reload\": [3, 8, 37],\n \"remov\": [0, 3, 8, 11, 17, 29, 30, 31, 33, 34, 36, 43, 44],\n \"remove_particip\": [30, 34, 43],\n \"renam\": [30, 34],\n \"repeat\": 4,\n \"replac\": 1,\n \"repli\": [29, 31, 33, 36],\n- \"reply_to\": [29, 30, 31, 33, 34, 36],\n+ \"reply_to\": [29, 31, 33, 34, 36],\n \"reply_to_fallback_text\": [31, 36],\n \"reply_to_msg_id\": [31, 36],\n \"repo\": 37,\n \"report\": 27,\n \"repres\": [27, 29, 30, 31, 34, 36, 38, 41, 42],\n \"request\": [0, 27, 29, 30, 31, 33, 34, 36, 42, 45],\n \"request_handl\": [0, 4],\n@@ -3112,17 +3020,17 @@\n \"resourc\": [0, 29, 30, 31, 34, 36, 43],\n \"resourcedict\": [31, 36],\n \"respect\": [31, 36],\n \"respond\": 29,\n \"respons\": [30, 31, 33, 34, 36],\n \"responsetyp\": 27,\n \"restart\": [8, 30, 34],\n- \"restrict\": [0, 29, 30, 31, 33, 34, 36],\n+ \"restrict\": [0, 29, 31, 33, 34, 36],\n \"result\": [27, 31, 33],\n- \"retract\": [8, 29, 30, 31, 33, 34, 36, 43],\n+ \"retract\": [8, 29, 31, 33, 34, 36, 43],\n \"retriev\": [27, 29, 30, 34, 41],\n \"return\": [6, 27, 29, 30, 31, 33, 34, 36],\n \"rev\": 17,\n \"revis\": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26],\n \"right\": 41,\n \"rm\": 3,\n \"rock\": 8,\n@@ -3149,27 +3057,27 @@\n \"section\": [0, 4, 41],\n \"secur\": [46, 47],\n \"see\": [0, 1, 4, 6, 27, 28, 31, 33, 36, 41, 42, 46, 49],\n \"seen\": [31, 33],\n \"select\": [37, 49],\n \"self\": [27, 29, 30, 31, 34, 36, 37, 41],\n \"send\": [27, 29, 30, 31, 33, 34, 36, 41, 44, 46],\n- \"send_fil\": [29, 30, 31, 33, 34, 43],\n+ \"send_fil\": [29, 31, 33, 34, 43],\n \"send_gateway_invit\": [31, 36, 43],\n \"send_gateway_messag\": [31, 36, 43],\n \"send_gateway_statu\": [31, 36, 43],\n \"send_initial_pres\": [30, 34, 43],\n- \"send_kwarg\": [29, 30, 33, 34],\n+ \"send_kwarg\": [29, 33, 34],\n \"send_messag\": 41,\n \"send_pres\": 31,\n \"send_qr\": [28, 31, 33, 36, 43],\n- \"send_text\": [29, 30, 31, 33, 34, 36, 41, 43],\n+ \"send_text\": [29, 31, 33, 34, 36, 41, 43],\n \"send_xxxx\": [30, 34],\n- \"sender\": [29, 30, 31, 33, 34, 36, 41],\n- \"sens\": [29, 30, 33, 34],\n+ \"sender\": [29, 31, 33, 34, 36, 41],\n+ \"sens\": [29, 33, 34],\n \"sensit\": [27, 29],\n \"sent\": [8, 29, 30, 31, 33, 34, 36, 42],\n \"separ\": 3,\n \"sequenc\": [27, 29, 31, 33],\n \"seri\": 42,\n \"serialis\": [31, 33],\n \"serv\": [0, 41],\n@@ -3198,15 +3106,15 @@\n \"signal\": [46, 47],\n \"signatur\": 41,\n \"signifi\": 29,\n \"sigterminterrupt\": [32, 43],\n \"similar\": [0, 41],\n \"simpl\": [31, 33],\n \"sinc\": [4, 30, 31, 33, 34, 37, 42, 45],\n- \"singl\": [0, 27, 29, 30, 33, 34],\n+ \"singl\": [0, 27, 29, 33, 34],\n \"single_step_form\": [28, 31, 43],\n \"singleton\": [29, 31, 36],\n \"size\": 0,\n \"skidg\": [2, 5, 7, 44, 46, 48, 49],\n \"sleamdg\": [2, 5, 7, 44, 46, 48, 49],\n \"slidcord\": [2, 5, 7, 44, 46, 48, 49],\n \"slidg\": [0, 1, 2, 3, 4, 5, 6, 7, 8, 33, 34, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49],\n@@ -3233,102 +3141,102 @@\n \"sometim\": [30, 34, 44, 45, 49],\n \"somewher\": [30, 34],\n \"soon\": [2, 39],\n \"sophist\": [31, 33],\n \"sort\": [31, 36],\n \"sound\": 42,\n \"sourc\": 24,\n- \"spear\": [29, 30, 34],\n+ \"spear\": [29, 34],\n \"spec\": [31, 36],\n \"special_msg_id_prefix\": [31, 36, 43],\n \"specif\": [2, 3, 5, 7, 29, 30, 31, 32, 34, 36, 44, 46, 48, 49],\n- \"specifi\": [2, 29, 30, 31, 33, 34],\n+ \"specifi\": [2, 29, 31, 33, 34],\n \"spoke\": [30, 34],\n \"sql\": [31, 33],\n \"src\": 32,\n \"ssh\": 47,\n \"stabil\": [30, 34],\n \"stable_arch\": [30, 34, 43],\n \"stanza\": [30, 31, 34, 36],\n \"start\": [0, 3, 8, 31, 33, 36, 41, 49],\n \"startup\": [2, 3, 29, 30, 31, 34, 36],\n- \"state\": [8, 29, 30, 31, 33, 34, 36],\n+ \"state\": [8, 29, 31, 33, 34, 36],\n \"static\": [0, 31, 36],\n \"statu\": [29, 30, 31, 34, 36],\n \"step\": [1, 28, 31],\n \"sticker\": [31, 36],\n \"still\": [31, 33],\n \"stop\": [3, 44],\n \"store\": [2, 12, 13, 14, 20, 22, 26, 29, 30, 31, 33, 34],\n \"str\": [27, 29, 30, 31, 33, 34, 36, 41],\n- \"stream\": [29, 30, 33, 34, 37],\n+ \"stream\": [29, 33, 34, 37],\n \"strictli\": [30, 34],\n \"string\": [27, 29, 31, 33, 36],\n \"structur\": 27,\n \"stuff\": [27, 29, 31, 33, 37, 44],\n \"su\": 3,\n \"subclass\": [27, 29, 31, 36, 38, 41],\n \"subdomain\": [0, 1],\n \"subgid\": 3,\n \"subject\": [13, 14, 30, 34],\n \"submiss\": 27,\n \"submodul\": [40, 43],\n \"subscrib\": [29, 41, 45],\n \"subscript\": 27,\n- \"subset\": [29, 30, 34],\n+ \"subset\": [29, 34],\n \"subtl\": [30, 34],\n \"subuid\": 3,\n \"success\": [27, 30, 31, 34, 36, 43],\n \"successfulli\": [29, 31],\n \"sudo\": [3, 37],\n \"suggest\": [31, 36],\n \"summari\": [31, 36],\n \"super\": [3, 5, 37, 41],\n \"super_dup\": 41,\n \"superdup\": [0, 1, 2, 3, 4, 5, 8, 40, 41, 43, 49],\n \"superdupercli\": 41,\n \"support\": [29, 30, 31, 34, 36, 44, 45],\n- \"sure\": [0, 3, 6, 8, 27, 29, 30, 31, 33, 34, 44],\n+ \"sure\": [0, 3, 6, 8, 27, 29, 31, 33, 34, 44],\n \"surnam\": 45,\n \"sync\": [4, 42, 43, 46],\n- \"synchron\": [8, 29, 30, 33, 34],\n- \"system\": [3, 6, 29, 30, 33, 34],\n+ \"synchron\": [8, 29, 33, 34],\n+ \"system\": [3, 6, 29, 33, 34],\n \"systemctl\": 3,\n \"systemd\": [0, 2, 5, 6, 43],\n \"sysv\": 3,\n \"t\": [29, 30, 31, 33, 34, 36, 37, 41, 49],\n \"tabl\": [11, 17, 19, 22, 27],\n \"tableresult\": [27, 43],\n- \"tag\": [6, 29, 30, 33, 34],\n+ \"tag\": [6, 29, 33, 34],\n \"take\": [0, 29, 30, 34],\n \"taken\": 8,\n \"talk\": 5,\n \"target\": [31, 33],\n \"task\": [31, 36],\n \"telegram\": [1, 3, 42, 46, 47],\n \"temporarili\": 3,\n \"term\": [29, 46],\n- \"test\": [3, 27, 29, 30, 34, 37],\n- \"text\": [27, 29, 30, 31, 33, 34, 36, 41],\n+ \"test\": [3, 27, 29, 34, 37],\n+ \"text\": [27, 29, 31, 33, 34, 36, 41],\n \"than\": [0, 31, 33],\n \"thank\": [31, 33],\n \"thei\": [3, 29, 30, 31, 33, 34, 42],\n \"them\": [27, 30, 34, 38, 44, 46],\n \"themselv\": 38,\n \"theori\": [30, 34],\n \"therefor\": 1,\n \"thi\": [0, 1, 2, 3, 4, 5, 6, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 41, 42, 44, 45, 46, 47, 49],\n \"thing\": [29, 41],\n \"those\": [29, 31, 33, 38],\n \"though\": 45,\n- \"thread\": [29, 30, 31, 33, 34, 36],\n+ \"thread\": [29, 31, 33, 34, 36],\n \"through\": [29, 31, 33, 37],\n \"thrown\": [31, 33],\n \"thu\": [30, 34],\n- \"time\": [29, 30, 31, 33, 34, 36, 45],\n+ \"time\": [29, 31, 33, 34, 36, 45],\n \"timer\": 0,\n \"titl\": [30, 31, 33, 34],\n \"tl\": [0, 4],\n \"tmp\": 37,\n \"toler\": 47,\n \"toml\": 37,\n \"too\": [29, 31],\n@@ -3338,21 +3246,21 @@\n \"tracker\": 43,\n \"traffic\": 47,\n \"transform\": 29,\n \"translat\": 29,\n \"translated_group_nam\": [31, 36],\n \"translated_user_nam\": [31, 36],\n \"transmit\": [29, 31, 36, 41],\n- \"transport\": [29, 30, 33, 34, 41],\n+ \"transport\": [29, 33, 34, 41],\n \"tri\": [30, 34],\n \"trigger\": [27, 30, 31, 34, 36, 42, 45, 46],\n \"true\": [0, 2, 4, 8, 29, 30, 31, 32, 33, 34, 36],\n \"try\": [27, 29, 30, 33, 34, 37, 45],\n \"tty\": 3,\n- \"tupl\": [29, 30, 33, 34],\n+ \"tupl\": [29, 33, 34],\n \"turn\": [2, 30, 31, 33, 34],\n \"tutori\": [40, 43],\n \"twice\": 29,\n \"two\": [0, 8],\n \"two_factor_cod\": [28, 31, 43],\n \"twofactornotrequir\": [28, 43],\n \"type\": [0, 27, 29, 30, 31, 33, 34, 36, 43, 46, 49],\n@@ -3382,15 +3290,15 @@\n \"until\": [30, 34, 41],\n \"untouch\": [30, 34],\n \"up\": [0, 1, 3, 4, 8, 10, 29, 30, 31, 34, 37, 47],\n \"updat\": [3, 29, 30, 34, 37, 38],\n \"update_info\": [29, 30, 34, 38, 43],\n \"upload\": [5, 6, 31, 36, 43],\n \"upon\": [31, 36],\n- \"url\": [0, 29, 30, 31, 33, 34, 36],\n+ \"url\": [0, 29, 31, 33, 34, 36],\n \"us\": [0, 1, 2, 3, 4, 5, 8, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 40, 41, 42, 43, 44, 45, 46, 47, 49],\n \"usabl\": [31, 36],\n \"usag\": 0,\n \"user\": [0, 3, 8, 25, 26, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38, 41, 42, 43, 44, 48, 49],\n \"user_bare_jid\": [31, 33],\n \"user_jid\": [31, 33],\n \"user_stor\": 21,\n@@ -3444,15 +3352,15 @@\n \"which\": [0, 3, 6, 28, 29, 30, 31, 33, 34, 36, 37, 38, 49],\n \"while\": [3, 27, 30, 34],\n \"who\": [27, 42],\n \"whole\": [28, 31],\n \"whose\": [30, 31, 33, 34],\n \"why\": [29, 30, 33, 34],\n \"width\": [31, 36],\n- \"window\": [29, 30, 31, 33, 34],\n+ \"window\": [29, 31, 33, 34],\n \"wise\": 29,\n \"within\": [30, 34],\n \"without\": [1, 31, 32, 36, 40, 41, 43],\n \"won\": [29, 31, 36, 49],\n \"word\": [27, 45],\n \"work\": [0, 1, 4, 8, 29, 31, 33, 41, 49],\n \"workaround\": [2, 30, 34, 37],\n"}]}]}]}]}]}