a †oe‰ã@s&dZddlZddlmZddd„ZdS)z� backports.makefile ~~~~~~~~~~~~~~~~~~ Backports the Python 3 ``socket.makefile`` method for use with anything that wants to create a "fake" socket object. éN)ÚSocketIOÚrc Cst|ƒhd£kstd|fƒ‚d|v}d|vp2| }|s@|s@J‚d|v}d} |rX| d7} |rd| d7} t|| ƒ} |jd7_|durˆd }|d kr–tj}|d kr®|sªtd ƒ‚| S|rÆ|rÆt | | |¡} n&|rØt | |¡} n|sàJ‚t | |¡} |rô| St  | |||¡} || _ | S) z: Backport of ``socket.makefile`` from Python 3.5. >ÚwÚbrz&invalid mode %r (only r, w, b allowed)rrrÚéNéÿÿÿÿrz!unbuffered streams must be binary) ÚsetÚ ValueErrorrZ_makefile_refsÚioÚDEFAULT_BUFFER_SIZEÚBufferedRWPairÚBufferedReaderÚBufferedWriterÚ TextIOWrapperÚmode) ÚselfrÚ bufferingÚencodingÚerrorsÚnewlineZwritingZreadingZbinaryZrawmodeÚrawÚbufferÚtext©rúDC:\Program Files\Certbot\pkgs\urllib3\packages\backports\makefile.pyÚbackport_makefile s@   r)rNNNN)Ú__doc__r ZsocketrrrrrrÚs ÿ