€•ZŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ7/translations/zh_CN/networking/devlink/devlink-linecard”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/zh_TW/networking/devlink/devlink-linecard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/it_IT/networking/devlink/devlink-linecard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/ja_JP/networking/devlink/devlink-linecard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/ko_KR/networking/devlink/devlink-linecard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/sp_SP/networking/devlink/devlink-linecard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒQ/var/lib/git/docbuild/linux/Documentation/networking/devlink/devlink-linecard.rst”h KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒDevlink Line card”h]”hŒDevlink Line card”…””}”(hh»hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hh¶hžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒ Background”h]”hŒ Background”…””}”(hhÌhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hhÉhžhhŸh³h KubhŒ paragraph”“”)”}”(hŒ²The ``devlink-linecard`` mechanism is targeted for manipulation of line cards that serve as a detachable PHY modules for modular switch system. Following operations are provided:”h]”(hŒThe ”…””}”(hhÜhžhhŸNh NubhŒliteral”“”)”}”(hŒ``devlink-linecard``”h]”hŒdevlink-linecard”…””}”(hhæhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hähhÜubhŒš mechanism is targeted for manipulation of line cards that serve as a detachable PHY modules for modular switch system. Following operations are provided:”…””}”(hhÜhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K hhÉhžhubhŒ block_quote”“”)”}”(hŒ”* Get a list of supported line card types. * Provision of a slot with specific line card type. * Get and monitor of line card state and its change. ”h]”hŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ(Get a list of supported line card types.”h]”hÛ)”}”(hj h]”hŒ(Get a list of supported line card types.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h Khj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjubj )”}”(hŒ1Provision of a slot with specific line card type.”h]”hÛ)”}”(hj$h]”hŒ1Provision of a slot with specific line card type.”…””}”(hj&hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h Khj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjubj )”}”(hŒ3Get and monitor of line card state and its change. ”h]”hÛ)”}”(hŒ2Get and monitor of line card state and its change.”h]”hŒ2Get and monitor of line card state and its change.”…””}”(hj=hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h Khj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ*”uh1jhŸh³h Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1hþhŸh³h KhhÉhžhubhÛ)”}”(hŒôLine card according to the type may contain one or more gearboxes to mux the lanes with certain speed to multiple ports with lanes of different speed. Line card ensures N:M mapping between the switch ASIC modules and physical front panel ports.”h]”hŒôLine card according to the type may contain one or more gearboxes to mux the lanes with certain speed to multiple ports with lanes of different speed. Line card ensures N:M mapping between the switch ASIC modules and physical front panel ports.”…””}”(hj_hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h KhhÉhžhubeh}”(h]”Œ background”ah ]”h"]”Œ background”ah$]”h&]”uh1h´hh¶hžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒOverview”h]”hŒOverview”…””}”(hjxhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjuhžhhŸh³h KubhÛ)”}”(hŒ}Each line card devlink object is created by device driver, according to the physical line card slots available on the device.”h]”hŒ}Each line card devlink object is created by device driver, according to the physical line card slots available on the device.”…””}”(hj†hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h KhjuhžhubhÛ)”}”(hŒôSimilar to splitter cable, where the device might have no way of detection of the splitter cable geometry, the device might not have a way to detect line card type. For that devices, concept of provisioning is introduced. It allows the user to:”h]”hŒôSimilar to splitter cable, where the device might have no way of detection of the splitter cable geometry, the device might not have a way to detect line card type. For that devices, concept of provisioning is introduced. It allows the user to:”…””}”(hj”hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h Khjuhžhubhÿ)”}”(hXs* Provision a line card slot with certain line card type - Device driver would instruct the ASIC to prepare all resources accordingly. The device driver would create all instances, namely devlink port and netdevices that reside on the line card, according to the line card type * Manipulate of line card entities even without line card being physically connected or powered-up * Setup splitter cable on line card ports - As on the ordinary ports, user may provision a splitter cable of a certain type, without the need to be physically connected to the port * Configure devlink ports and netdevices ”h]”j)”}”(hhh]”(j )”}”(hXProvision a line card slot with certain line card type - Device driver would instruct the ASIC to prepare all resources accordingly. The device driver would create all instances, namely devlink port and netdevices that reside on the line card, according to the line card type”h]”(hÛ)”}”(hŒ6Provision a line card slot with certain line card type”h]”hŒ6Provision a line card slot with certain line card type”…””}”(hj­hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K"hj©ubj)”}”(hhh]”j )”}”(hŒÚDevice driver would instruct the ASIC to prepare all resources accordingly. The device driver would create all instances, namely devlink port and netdevices that reside on the line card, according to the line card type”h]”hÛ)”}”(hŒÚDevice driver would instruct the ASIC to prepare all resources accordingly. The device driver would create all instances, namely devlink port and netdevices that reside on the line card, according to the line card type”h]”hŒÚDevice driver would instruct the ASIC to prepare all resources accordingly. The device driver would create all instances, namely devlink port and netdevices that reside on the line card, according to the line card type”…””}”(hjÂhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K$hj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj»ubah}”(h]”h ]”h"]”h$]”h&]”jWŒ-”uh1jhŸh³h K$hj©ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj¦ubj )”}”(hŒ`Manipulate of line card entities even without line card being physically connected or powered-up”h]”hÛ)”}”(hŒ`Manipulate of line card entities even without line card being physically connected or powered-up”h]”hŒ`Manipulate of line card entities even without line card being physically connected or powered-up”…””}”(hjçhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K(hjãubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj¦ubj )”}”(hŒ·Setup splitter cable on line card ports - As on the ordinary ports, user may provision a splitter cable of a certain type, without the need to be physically connected to the port”h]”(hÛ)”}”(hŒ'Setup splitter cable on line card ports”h]”hŒ'Setup splitter cable on line card ports”…””}”(hjÿhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K*hjûubj)”}”(hhh]”j )”}”(hŒˆAs on the ordinary ports, user may provision a splitter cable of a certain type, without the need to be physically connected to the port”h]”hÛ)”}”(hŒˆAs on the ordinary ports, user may provision a splitter cable of a certain type, without the need to be physically connected to the port”h]”hŒˆAs on the ordinary ports, user may provision a splitter cable of a certain type, without the need to be physically connected to the port”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K,hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj ubah}”(h]”h ]”h"]”h$]”h&]”jWjÜuh1jhŸh³h K,hjûubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj¦ubj )”}”(hŒ'Configure devlink ports and netdevices ”h]”hÛ)”}”(hŒ&Configure devlink ports and netdevices”h]”hŒ&Configure devlink ports and netdevices”…””}”(hj8hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K/hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj¦ubeh}”(h]”h ]”h"]”h$]”h&]”jWjXuh1jhŸh³h K"hj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1hþhŸh³h K"hjuhžhubhÛ)”}”(hŒ(Netdevice carrier is decided as follows:”h]”hŒ(Netdevice carrier is decided as follows:”…””}”(hjXhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K1hjuhžhubhÿ)”}”(hŒ®* Line card is not inserted or powered-down - The carrier is always down * Line card is inserted and powered up - The carrier is decided as for ordinary port netdevice ”h]”j)”}”(hhh]”(j )”}”(hŒGLine card is not inserted or powered-down - The carrier is always down”h]”(hÛ)”}”(hŒ)Line card is not inserted or powered-down”h]”hŒ)Line card is not inserted or powered-down”…””}”(hjqhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K3hjmubj)”}”(hhh]”j )”}”(hŒThe carrier is always down”h]”hÛ)”}”(hj„h]”hŒThe carrier is always down”…””}”(hj†hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K5hj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjubah}”(h]”h ]”h"]”h$]”h&]”jWjÜuh1jhŸh³h K5hjmubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjjubj )”}”(hŒ^Line card is inserted and powered up - The carrier is decided as for ordinary port netdevice ”h]”(hÛ)”}”(hŒ$Line card is inserted and powered up”h]”hŒ$Line card is inserted and powered up”…””}”(hj©hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K6hj¥ubj)”}”(hhh]”j )”}”(hŒ6The carrier is decided as for ordinary port netdevice ”h]”hÛ)”}”(hŒ5The carrier is decided as for ordinary port netdevice”h]”hŒ5The carrier is decided as for ordinary port netdevice”…””}”(hj¾hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K8hjºubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj·ubah}”(h]”h ]”h"]”h$]”h&]”jWjÜuh1jhŸh³h K8hj¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjjubeh}”(h]”h ]”h"]”h$]”h&]”jWjXuh1jhŸh³h K3hjfubah}”(h]”h ]”h"]”h$]”h&]”uh1hþhŸh³h K3hjuhžhubeh}”(h]”Œoverview”ah ]”h"]”Œoverview”ah$]”h&]”uh1h´hh¶hžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒLine card state”h]”hŒLine card state”…””}”(hjõhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjòhžhhŸh³h K;ubhÛ)”}”(hŒKThe ``devlink-linecard`` mechanism supports the following line card states:”h]”(hŒThe ”…””}”(hjhžhhŸNh Nubhå)”}”(hŒ``devlink-linecard``”h]”hŒdevlink-linecard”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hähjubhŒ3 mechanism supports the following line card states:”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K=hjòhžhubhÿ)”}”(hX* ``unprovisioned``: Line card is not provisioned on the slot. * ``unprovisioning``: Line card slot is currently being unprovisioned. * ``provisioning``: Line card slot is currently in a process of being provisioned with a line card type. * ``provisioning_failed``: Provisioning was not successful. * ``provisioned``: Line card slot is provisioned with a type. * ``active``: Line card is powered-up and active. ”h]”j)”}”(hhh]”(j )”}”(hŒ<``unprovisioned``: Line card is not provisioned on the slot.”h]”hÛ)”}”(hj,h]”(hå)”}”(hŒ``unprovisioned``”h]”hŒ unprovisioned”…””}”(hj1hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hähj.ubhŒ+: Line card is not provisioned on the slot.”…””}”(hj.hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K?hj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj'ubj )”}”(hŒD``unprovisioning``: Line card slot is currently being unprovisioned.”h]”hÛ)”}”(hjQh]”(hå)”}”(hŒ``unprovisioning``”h]”hŒunprovisioning”…””}”(hjVhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hähjSubhŒ2: Line card slot is currently being unprovisioned.”…””}”(hjShžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K@hjOubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj'ubj )”}”(hŒf``provisioning``: Line card slot is currently in a process of being provisioned with a line card type.”h]”hÛ)”}”(hŒf``provisioning``: Line card slot is currently in a process of being provisioned with a line card type.”h]”(hå)”}”(hŒ``provisioning``”h]”hŒ provisioning”…””}”(hj|hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hähjxubhŒV: Line card slot is currently in a process of being provisioned with a line card type.”…””}”(hjxhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h KAhjtubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj'ubj )”}”(hŒ9``provisioning_failed``: Provisioning was not successful.”h]”hÛ)”}”(hjœh]”(hå)”}”(hŒ``provisioning_failed``”h]”hŒprovisioning_failed”…””}”(hj¡hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hähjžubhŒ": Provisioning was not successful.”…””}”(hjžhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h KChjšubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj'ubj )”}”(hŒ;``provisioned``: Line card slot is provisioned with a type.”h]”hÛ)”}”(hjÁh]”(hå)”}”(hŒ``provisioned``”h]”hŒ provisioned”…””}”(hjÆhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hähjÃubhŒ,: Line card slot is provisioned with a type.”…””}”(hjÃhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h KDhj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj'ubj )”}”(hŒ0``active``: Line card is powered-up and active. ”h]”hÛ)”}”(hŒ/``active``: Line card is powered-up and active.”h]”(hå)”}”(hŒ ``active``”h]”hŒactive”…””}”(hjìhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hähjèubhŒ%: Line card is powered-up and active.”…””}”(hjèhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h KEhjäubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj'ubeh}”(h]”h ]”h"]”h$]”h&]”jWjXuh1jhŸh³h K?hj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1hþhŸh³h K?hjòhžhubhÛ)”}”(hŒ]The following diagram provides a general overview of ``devlink-linecard`` state transitions::”h]”(hŒ5The following diagram provides a general overview of ”…””}”(hjhžhhŸNh Nubhå)”}”(hŒ``devlink-linecard``”h]”hŒdevlink-linecard”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hähjubhŒ state transitions:”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h KGhjòhžhubhŒ literal_block”“”)”}”(hX¯ +-------------------------+ | | +----------------------------------> unprovisioned | | | | | +--------|-------^--------+ | | | | | | | +--------v-------|--------+ | | | | | provisioning | | | | | +------------|------------+ | | | +-----------------------------+ | | | | +------------v------------+ +------------v------------+ +-------------------------+ | | | | ----> | +----- provisioning_failed | | provisioned | | active | | | | | <---- | | +------------^------------+ +------------|------------+ +-------------------------+ | | | | | | | | +------------v------------+ | | | | | | | unprovisioning | | | | | | | +------------|------------+ | | | | +-----------------------------+ | | +-----------------------------------------------+”h]”hX¯ +-------------------------+ | | +----------------------------------> unprovisioned | | | | | +--------|-------^--------+ | | | | | | | +--------v-------|--------+ | | | | | provisioning | | | | | +------------|------------+ | | | +-----------------------------+ | | | | +------------v------------+ +------------v------------+ +-------------------------+ | | | | ----> | +----- provisioning_failed | | provisioned | | active | | | | | <---- | | +------------^------------+ +------------|------------+ +-------------------------+ | | | | | | | | +------------v------------+ | | | | | | | unprovisioning | | | | | | | +------------|------------+ | | | | +-----------------------------+ | | +-----------------------------------------------+”…””}”hj8sbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1j6hŸh³h KJhjòhžhubeh}”(h]”Œline-card-state”ah ]”h"]”Œline card state”ah$]”h&]”uh1h´hh¶hžhhŸh³h K;ubhµ)”}”(hhh]”(hº)”}”(hŒ Example usage”h]”hŒ Example usage”…””}”(hjQhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjNhžhhŸh³h Klubj7)”}”(hXq$ devlink lc show [ DEV [ lc LC_INDEX ] ] $ devlink lc set DEV lc LC_INDEX [ { type LC_TYPE | notype } ] # Show current line card configuration and status for all slots: $ devlink lc # Set slot 8 to be provisioned with type "16x100G": $ devlink lc set pci/0000:01:00.0 lc 8 type 16x100G # Set slot 8 to be unprovisioned: $ devlink lc set pci/0000:01:00.0 lc 8 notype”h]”hXq$ devlink lc show [ DEV [ lc LC_INDEX ] ] $ devlink lc set DEV lc LC_INDEX [ { type LC_TYPE | notype } ] # Show current line card configuration and status for all slots: $ devlink lc # Set slot 8 to be provisioned with type "16x100G": $ devlink lc set pci/0000:01:00.0 lc 8 type 16x100G # Set slot 8 to be unprovisioned: $ devlink lc set pci/0000:01:00.0 lc 8 notype”…””}”hj_sbah}”(h]”h ]”h"]”h$]”h&]”Œforce”‰Œhighlight_args”}”h±h²Œlanguage”Œshell”uh1j6hŸh³h KnhjNhžhubeh}”(h]”Œ example-usage”ah ]”h"]”Œ example usage”ah$]”h&]”uh1h´hh¶hžhhŸh³h Klubeh}”(h]”Œdevlink-line-card”ah ]”h"]”Œdevlink line card”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Œfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œ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”‰Œ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”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jj|jrjojïjìjKjHjwjtuŒ nametypes”}”(j‰jr‰jï‰jK‰jw‰uh}”(j|h¶johÉjìjujHjòjtjNuŒ 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.