U mf@sPddlZddlmZmZddlmZeGdddejjZ eedddZ dS) N)AnyCallable) immutablec@sPeZdZdefeeegejj fdddZ ddZ ddZ d d Z d d Zd S)DictF) dictionaryno_copy map_factorycCs8|rt|tjjr||_n||_|j|d|_dS)aMake an immutable dictionary from the specified dictionary. If *no_copy* is `True`, then *dictionary* will be wrapped instead of copied. Only set this if you are sure there will be no external references to the dictionary. N) isinstance collectionsabcMutableMapping_odictupdate_hash)selfrrrr;/opt/hc_python/lib/python3.8/site-packages/dns/immutable.py__init__ s  z Dict.__init__cCs |j|SN)r __getitem__)rkeyrrrrszDict.__getitem__cCsB|jdkr<szconstify..css|]}t|VqdSrr*r,rrrr/>sT) r bytearraybytestupler Exceptionlistr&itemsr+r)r(Zcdictkvrrrr+1s      r+) collections.abcr typingrrZdns._immutable_ctxrr Mappingrr+rrrrs  '