python (3.11.7)
    e/                     Z   d Z ddlZddlZddlmZ dZdadZi Zi Z	i Z
i Zd Zd Z
 G d d	          Z G d
 d          Zd Z G d
 d          Z G d d          Z G d d          Z G d d          Z G d d          Zd Zd Zd Zd Zedk    rddlmZ  eddd            dS dS )!a  Support for remote Python debugging.
Some ASCII art to describe the structure:
       IN PYTHON SUBPROCESS          #             IN IDLE PROCESS
                                     #
                                     #        oid='gui_adapter'
                 +----------+        #       +------------+          +-----+
                 | GUIProxy |--remote#call-->| GUIAdapter |--calls-->| GUI |
+-----+--calls-->+----------+        #       +------------+          +-----+
| Idb |                               #                             /
+-----+<-calls--+------------+         #      +----------+<--calls-/
                | IdbAdapter |<--remote#call--| IdbProxy |
                +------------+         #      +----------+
                oid='idb_adapter'      #
The purpose of the Proxy and Adapter classes is to translate certain
arguments and return values that cannot be transported through the RPC
barrier, in particular frame and traceback objects.
    N)debuggeridb_adaptergui_adapterc                 8    t          |           }| t          |<