ó Û_e[c@`s^ddlmZmZmZddljZddlmZm Z ddlm Z d„Z dS(i(tabsolute_importtdivisiontprint_functionN(tffitlib(tensurecC`sætt|tƒdtjƒtt|tƒdtjƒtt|ƒt|ƒƒ}tjd|ƒ}tjd|ƒ}tj ||t|ƒƒtj ||t|ƒƒt|ƒt|ƒk}t j |||ƒdk}|oå|S(sA Compare contents of two memory regions in constant time traisingschar []i( Rt isinstancetbytestexct TypeErrortmaxtlenRtnewtmemmoveRt sodium_memcmp(tinp1tinp2tlntbuf1tbuf2teqLteqC((s5/tmp/pip-install-KP2Jbq/pynacl/nacl/bindings/utils.pyRs  ( t __future__RRRtnacl.exceptionst exceptionsR t nacl._sodiumRRRR(((s5/tmp/pip-install-KP2Jbq/pynacl/nacl/bindings/utils.pyts