2uˬ d Z ddlmZ ddlmZmZ ddlmZmZm Z m Z mZmZm Z mZ erddlmZ ddlmZ eeeef Ze edf ZdZd e e d edge edf f ddfd Zdedee fdZde e dedededef dZedddeddfd Zedededefd ZdededefdZddde e edf dedeeedf fdZdddededee fd ZdS )!zBModule with functions which are supposed to be as fast as possible )S_ISDIR)safe_decodedefenc)CallableListMutableSequenceSequenceTuple TYPE_CHECKINGUnionoverload)ReadableBuffer)GitCmdObjectDBN)tree_to_streamtree_entries_from_datatraverse_trees_recursivetraverse_tree_recursiveentrieswriter returnc v t d }d}| D ]\ }}}d}t d D ]!}t ||dz z |z |z g |z }"|d |k r |dd }t |t r| t } n|} |d |d | d |f dS )zWrite the give list of entries into a stream using its write method :param entries: **sorted** list of tuples with (binsha, mode, name) :param write: write method which takes a data string0 r N )ordrangebytes isinstancestrencoder join) r r ord_zerobit_maskbinshamodenamemode_stri name_bytess a/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/git/objects/fun.pyr r &