€•‡Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”(hhŒparent”hubaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ%/translations/zh_CN/usb/gadget_serial”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”(hhhh2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ%/translations/zh_TW/usb/gadget_serial”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”(hhhhFubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ%/translations/it_IT/usb/gadget_serial”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”(hhhhZubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ%/translations/ja_JP/usb/gadget_serial”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”(hhhhnubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ%/translations/ko_KR/usb/gadget_serial”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”(hhhh‚ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ%/translations/sp_SP/usb/gadget_serial”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒLinux Gadget Serial Driver v2.0”h]”hŒLinux Gadget Serial Driver v2.0”…””}”(hhªhh¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh£hžhhŸŒ?/var/lib/git/docbuild/linux/Documentation/usb/gadget_serial.rst”h KubhŒ paragraph”“”)”}”(hŒ 11/20/2004”h]”hŒ 11/20/2004”…””}”(hh»hh¹hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khh£hžhubh¸)”}”(hŒ(updated 8-May-2008 for v2.3)”h]”hŒ(updated 8-May-2008 for v2.3)”…””}”(hhÉhhÇhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khh£hžhubh¢)”}”(hhh]”(h§)”}”(hŒLicense and Disclaimer”h]”hŒLicense and Disclaimer”…””}”(hhÚhhØhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hhÕhžhhŸh¶h K ubh¸)”}”(hŒïThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.”h]”hŒïThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.”…””}”(hhèhhæhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K hhÕhžhubh¸)”}”(hŒéThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.”h]”hŒéThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.”…””}”(hhöhhôhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h KhhÕhžhubh¸)”}”(hŒÆYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.”h]”hŒÆYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.”…””}”(hjhjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h KhhÕhžhubh¸)”}”(hŒvThis document and the gadget serial driver itself are Copyright (C) 2004 by Al Borchers (alborchers@steinerpoint.com).”h]”(hŒYThis document and the gadget serial driver itself are Copyright (C) 2004 by Al Borchers (”…””}”(hŒYThis document and the gadget serial driver itself are Copyright (C) 2004 by Al Borchers (”hjhžhhŸNh NubhŒ reference”“”)”}”(hŒalborchers@steinerpoint.com”h]”hŒalborchers@steinerpoint.com”…””}”(hhhjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ"mailto:alborchers@steinerpoint.com”uh1jhjubhŒ).”…””}”(hŒ).”hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h KhhÕhžhubh¸)”}”(hŒzIf you have questions, problems, or suggestions for this driver please contact Al Borchers at alborchers@steinerpoint.com.”h]”(hŒ^If you have questions, problems, or suggestions for this driver please contact Al Borchers at ”…””}”(hŒ^If you have questions, problems, or suggestions for this driver please contact Al Borchers at ”hj6hžhhŸNh Nubj)”}”(hŒalborchers@steinerpoint.com”h]”hŒalborchers@steinerpoint.com”…””}”(hhhj?hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ"mailto:alborchers@steinerpoint.com”uh1jhj6ubhŒ.”…””}”(hŒ.”hj6hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h KhhÕhžhubeh}”(h]”Œlicense-and-disclaimer”ah ]”h"]”Œlicense and disclaimer”ah$]”h&]”uh1h¡hh£hžhhŸh¶h K ubh¢)”}”(hhh]”(h§)”}”(hŒ Prerequisites”h]”hŒ Prerequisites”…””}”(hjghjehžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hjbhžhhŸh¶h K#ubh¸)”}”(hŒ½Versions of the gadget serial driver are available for the 2.4 Linux kernels, but this document assumes you are using version 2.3 or later of the gadget serial driver in a 2.6 Linux kernel.”h]”hŒ½Versions of the gadget serial driver are available for the 2.4 Linux kernels, but this document assumes you are using version 2.3 or later of the gadget serial driver in a 2.6 Linux kernel.”…””}”(hjuhjshžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K$hjbhžhubh¸)”}”(hXThis document assumes that you are familiar with Linux and Windows and know how to configure and build Linux kernels, run standard utilities, use minicom and HyperTerminal, and work with USB and serial devices. It also assumes you configure the Linux gadget and usb drivers as modules.”h]”hXThis document assumes that you are familiar with Linux and Windows and know how to configure and build Linux kernels, run standard utilities, use minicom and HyperTerminal, and work with USB and serial devices. It also assumes you configure the Linux gadget and usb drivers as modules.”…””}”(hjƒhjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K)hjbhžhubh¸)”}”(hŒùWith version 2.3 of the driver, major and minor device nodes are no longer statically defined. Your Linux based system should mount sysfs in /sys, and use "mdev" (in Busybox) or "udev" to make the /dev nodes matching the sysfs /sys/class/tty files.”h]”hXWith version 2.3 of the driver, major and minor device nodes are no longer statically defined. Your Linux based system should mount sysfs in /sys, and use “mdev†(in Busybox) or “udev†to make the /dev nodes matching the sysfs /sys/class/tty files.”…””}”(hj‘hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K/hjbhžhubeh}”(h]”Œ prerequisites”ah ]”h"]”Œ prerequisites”ah$]”h&]”uh1h¡hh£hžhhŸh¶h K#ubh¢)”}”(hhh]”(h§)”}”(hŒOverview”h]”hŒOverview”…””}”(hjªhj¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hj¥hžhhŸh¶h K7ubh¸)”}”(hŒáThe gadget serial driver is a Linux USB gadget driver, a USB device side driver. It runs on a Linux system that has USB device side hardware; for example, a PDA, an embedded Linux system, or a PC with a USB development card.”h]”hŒáThe gadget serial driver is a Linux USB gadget driver, a USB device side driver. It runs on a Linux system that has USB device side hardware; for example, a PDA, an embedded Linux system, or a PC with a USB development card.”…””}”(hj¸hj¶hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K8hj¥hžhubh¸)”}”(hŒxThe gadget serial driver talks over USB to either a CDC ACM driver or a generic USB serial driver running on a host PC::”h]”hŒwThe gadget serial driver talks over USB to either a CDC ACM driver or a generic USB serial driver running on a host PC:”…””}”(hŒwThe gadget serial driver talks over USB to either a CDC ACM driver or a generic USB serial driver running on a host PC:”hjÄhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K=hj¥hžhubhŒ literal_block”“”)”}”(hXU Host -------------------------------------- | Host-Side CDC ACM USB Host | | Operating | or | Controller | USB | System | Generic USB | Driver |-------- | (Linux or | Serial | and | | | Windows) Driver USB Stack | | -------------------------------------- | | | | Gadget | -------------------------------------- | | Gadget USB Periph. | | | Device-Side | Gadget | Controller | | | Linux | Serial | Driver |-------- | Operating | Driver | and | | System USB Stack | --------------------------------------”h]”hXU Host -------------------------------------- | Host-Side CDC ACM USB Host | | Operating | or | Controller | USB | System | Generic USB | Driver |-------- | (Linux or | Serial | and | | | Windows) Driver USB Stack | | -------------------------------------- | | | | Gadget | -------------------------------------- | | Gadget USB Periph. | | | Device-Side | Gadget | Controller | | | Linux | Serial | Driver |-------- | Operating | Driver | and | | System USB Stack | --------------------------------------”…””}”(hhhjÕubah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1jÓhŸh¶h K@hj¥hžhubh¸)”}”(hŒUOn the device-side Linux system, the gadget serial driver looks like a serial device.”h]”hŒUOn the device-side Linux system, the gadget serial driver looks like a serial device.”…””}”(hjçhjåhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h KThj¥hžhubh¸)”}”(hŒÚOn the host-side system, the gadget serial device looks like a CDC ACM compliant class device or a simple vendor specific device with bulk in and bulk out endpoints, and it is treated similarly to other serial devices.”h]”hŒÚOn the host-side system, the gadget serial device looks like a CDC ACM compliant class device or a simple vendor specific device with bulk in and bulk out endpoints, and it is treated similarly to other serial devices.”…””}”(hjõhjóhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h KWhj¥hžhubh¸)”}”(hXThe host side driver can potentially be any ACM compliant driver or any driver that can talk to a device with a simple bulk in/out interface. Gadget serial has been tested with the Linux ACM driver, the Windows usbser.sys ACM driver, and the Linux USB generic serial driver.”h]”hXThe host side driver can potentially be any ACM compliant driver or any driver that can talk to a device with a simple bulk in/out interface. Gadget serial has been tested with the Linux ACM driver, the Windows usbser.sys ACM driver, and the Linux USB generic serial driver.”…””}”(hjhjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K\hj¥hžhubh¸)”}”(hŒÑWith the gadget serial driver and the host side ACM or generic serial driver running, you should be able to communicate between the host and the gadget side systems as if they were connected by a serial cable.”h]”hŒÑWith the gadget serial driver and the host side ACM or generic serial driver running, you should be able to communicate between the host and the gadget side systems as if they were connected by a serial cable.”…””}”(hjhjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Kbhj¥hžhubh¸)”}”(hŒ¢The gadget serial driver only provides simple unreliable data communication. It does not yet handle flow control or many other features of normal serial devices.”h]”hŒ¢The gadget serial driver only provides simple unreliable data communication. It does not yet handle flow control or many other features of normal serial devices.”…””}”(hjhjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Kghj¥hžhubeh}”(h]”Œoverview”ah ]”h"]”Œoverview”ah$]”h&]”uh1h¡hh£hžhhŸh¶h K7ubh¢)”}”(hhh]”(h§)”}”(hŒ#Installing the Gadget Serial Driver”h]”hŒ#Installing the Gadget Serial Driver”…””}”(hj8hj6hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hj3hžhhŸh¶h Kmubh¸)”}”(hXJTo use the gadget serial driver you must configure the Linux gadget side kernel for "Support for USB Gadgets", for a "USB Peripheral Controller" (for example, net2280), and for the "Serial Gadget" driver. All this are listed under "USB Gadget Support" when configuring the kernel. Then rebuild and install the kernel or modules.”h]”hXZTo use the gadget serial driver you must configure the Linux gadget side kernel for “Support for USB Gadgetsâ€, for a “USB Peripheral Controller†(for example, net2280), and for the “Serial Gadget†driver. All this are listed under “USB Gadget Support†when configuring the kernel. Then rebuild and install the kernel or modules.”…””}”(hjFhjDhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Knhj3hžhubh¸)”}”(hŒwThen you must load the gadget serial driver. To load it as an ACM device (recommended for interoperability), do this::”h]”hŒvThen you must load the gadget serial driver. To load it as an ACM device (recommended for interoperability), do this:”…””}”(hŒvThen you must load the gadget serial driver. To load it as an ACM device (recommended for interoperability), do this:”hjRhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Kuhj3hžhubjÔ)”}”(hŒmodprobe g_serial”h]”hŒmodprobe g_serial”…””}”(hhhjaubah}”(h]”h ]”h"]”h$]”h&]”jãjäuh1jÓhŸh¶h Kxhj3hžhubh¸)”}”(hŒ=To load it as a vendor specific bulk in/out device, do this::”h]”hŒecho 0x0525 0xA4A6 >/sys/bus/usb-serial/drivers/generic/new_id”h]”hŒ>echo 0x0525 0xA4A6 >/sys/bus/usb-serial/drivers/generic/new_id”…””}”(hhhjubah}”(h]”h ]”h"]”h$]”h&]”jãjäuh1jÓhŸh¶h Kõhj·hžhubh¸)”}”(hŒ,The legacy way is to use module parameters::”h]”hŒ+The legacy way is to use module parameters:”…””}”(hŒ+The legacy way is to use module parameters:”hj-hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K÷hj·hžhubjÔ)”}”(hŒ/modprobe usbserial vendor=0x0525 product=0xA4A6”h]”hŒ/modprobe usbserial vendor=0x0525 product=0xA4A6”…””}”(hhhj<ubah}”(h]”h ]”h"]”h$]”h&]”jãjäuh1jÓhŸh¶h Kùhj·hžhubh¸)”}”(hŒ“If everything is working, usbserial will print a message in the system log saying something like "Gadget Serial converter now attached to ttyUSB0".”h]”hŒ—If everything is working, usbserial will print a message in the system log saying something like “Gadget Serial converter now attached to ttyUSB0â€.”…””}”(hjLhjJhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Kûhj·hžhubeh}”(h]”Œ3installing-the-linux-host-generic-usb-serial-driver”ah ]”h"]”Œ3installing the linux host generic usb serial driver”ah$]”h&]”uh1h¡hh£hžhhŸh¶h KÚubh¢)”}”(hhh]”(h§)”}”(hŒ%Testing with Minicom or HyperTerminal”h]”hŒ%Testing with Minicom or HyperTerminal”…””}”(hjehjchžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hj`hžhhŸh¶h Mubh¸)”}”(hXOnce the gadget serial driver and the host driver are both installed, and a USB cable connects the gadget device to the host, you should be able to communicate over USB between the gadget and host systems. You can use minicom or HyperTerminal to try this out.”h]”hXOnce the gadget serial driver and the host driver are both installed, and a USB cable connects the gadget device to the host, you should be able to communicate over USB between the gadget and host systems. You can use minicom or HyperTerminal to try this out.”…””}”(hjshjqhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Mhj`hžhubh¸)”}”(hXCOn the gadget side run "minicom -s" to configure a new minicom session. Under "Serial port setup" set "/dev/ttygserial" as the "Serial Device". Set baud rate, data bits, parity, and stop bits, to 9600, 8, none, and 1--these settings mostly do not matter. Under "Modem and dialing" erase all the modem and dialing strings.”h]”hXWOn the gadget side run “minicom -s†to configure a new minicom session. Under “Serial port setup†set “/dev/ttygserial†as the “Serial Deviceâ€. Set baud rate, data bits, parity, and stop bits, to 9600, 8, none, and 1--these settings mostly do not matter. Under “Modem and dialing†erase all the modem and dialing strings.”…””}”(hjhjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Mhj`hžhubh¸)”}”(hŒÄOn a Linux host running the ACM driver, configure minicom similarly but use "/dev/ttyACM0" as the "Serial Device". (If you have other ACM devices connected, change the device name appropriately.)”h]”hŒÌOn a Linux host running the ACM driver, configure minicom similarly but use “/dev/ttyACM0†as the “Serial Deviceâ€. (If you have other ACM devices connected, change the device name appropriately.)”…””}”(hjhjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h M hj`hžhubh¸)”}”(hŒÚOn a Linux host running the USB generic serial driver, configure minicom similarly, but use "/dev/ttyUSB0" as the "Serial Device". (If you have other USB serial devices connected, change the device name appropriately.)”h]”hŒâOn a Linux host running the USB generic serial driver, configure minicom similarly, but use “/dev/ttyUSB0†as the “Serial Deviceâ€. (If you have other USB serial devices connected, change the device name appropriately.)”…””}”(hjhj›hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Mhj`hžhubh¸)”}”(hX$On a Windows host configure a new HyperTerminal session to use the COM port assigned to Gadget Serial. The "Port Settings" will be set automatically when HyperTerminal connects to the gadget serial device, so you can leave them set to the default values--these settings mostly do not matter.”h]”hX(On a Windows host configure a new HyperTerminal session to use the COM port assigned to Gadget Serial. The “Port Settings†will be set automatically when HyperTerminal connects to the gadget serial device, so you can leave them set to the default values--these settings mostly do not matter.”…””}”(hj«hj©hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Mhj`hžhubh¸)”}”(hXbWith minicom configured and running on the gadget side and with minicom or HyperTerminal configured and running on the host side, you should be able to send data back and forth between the gadget side and host side systems. Anything you type on the terminal window on the gadget side should appear in the terminal window on the host side and vice versa.”h]”hXbWith minicom configured and running on the gadget side and with minicom or HyperTerminal configured and running on the host side, you should be able to send data back and forth between the gadget side and host side systems. Anything you type on the terminal window on the gadget side should appear in the terminal window on the host side and vice versa.”…””}”(hj¹hj·hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Mhj`hžhubeh}”(h]”Œ%testing-with-minicom-or-hyperterminal”ah ]”h"]”Œ%testing with minicom or hyperterminal”ah$]”h&]”uh1h¡hh£hžhhŸh¶h Mubeh}”(h]”Œlinux-gadget-serial-driver-v2-0”ah ]”h"]”Œlinux gadget serial driver v2.0”ah$]”h&]”uh1h¡hhhžhhŸh¶h Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h¶uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(h¦NŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jøŒerror_encoding”ŒUTF-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h¶Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œ embed_images”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jÒjÏj_j\j¢jŸj0j-jæjãjEjBj´j±j]jZjÊjÇuŒ nametypes”}”(jÒNj_Nj¢Nj0NjæNjENj´Nj]NjÊNuh}”(jÏh£j\hÕjŸjbj-j¥jãj3jBjéj±jHjZj·jÇj`uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nhžhub.