ifYdZddlZddlmZmZdeedeedffdZded edefd Zd edeeeffd Zd edeedfde fdZ dS)a  Given a list of integers, made up of (hopefully) a small number of long runs of consecutive integers, compute a representation of the form ((start1, end1), (start2, end2) ...). Then answer the question "was x present in the original list?" in time O(log(# runs)). N)ListTuplelist_return.cjt|}g}d}tt|D]u}|dzt|kr||||dzdz kr1||dz|dz}|t |d|ddz|}vt |S)aRepresent a list of integers as a sequence of ranges: ((start_0, end_0), (start_1, end_1), ...), such that the original integers are exactly those x such that start_i <= x < end_i for some i. Ranges are encoded as single integers (start << 32 | end), not as tuples. r)sortedrangelenappend _encode_rangetuple)r sorted_listranges last_writei current_ranges n/builddir/build/BUILD/imunify360-venv-2.3.5/opt/imunify360/venv/lib/python3.11/site-packages/idna/intranges.pyintranges_from_listr s--K FJ 3{## $ $ Q3[!! ! !1~QqS!1!!333#JqL1$45  mM!$4mB6G!6KLLMMM ==startendc|dz|zS)N )rrs rrr s RK3 rrc|dz |dzfS)Nrlr)rs r _decode_ranger#s GqM* ++rint_rct|d}tj||}|dkr-t||dz \}}||cxkr|krnndS|t |kr t||\}}||krdSdS)z=Determine if `int_` falls into one of the ranges in `ranges`.rr TF)rbisect bisect_leftrr )r rtuple_posleftright_s rintranges_containr)'s 4 # #F  VV , ,C Qww#F3q5M22 e 4    %     4 S[[s ,,a 4<<4 5r) __doc__r"typingrrintrrrboolr)rrrr.s tCyU38_*33,S,U38_,,,,CsCxTr