a
    !fJ                    @   s<  U d dl mZmZmZmZmZ d dlmZ d dlm	Z	m
Z d dlmZmZmZmZ ddlmZ eg ddeegeegd	Zeeeeee f f ed
< dZeed< edZeed< dZeed< ededdeddeddeddeddeddeddeddeddeddeddeddeddeddeddedd ed d!ed!d"ed"d#ed#d$ed%d&ed&d'ed'd(ed(d)ed)d*ed*d+ed+d,ed,d-ed-d.ed.d/ed/d0ed0d1ed1d2ed2d3ed3d4ed4d5ed5d6ed6d7ed7d8ed8d9ed9d:ed:d;ed;d<ed<d=ed=d>ed>d?ed?d@ed@dAedAdBedBdCedCdDedDdEedEdFedFdGedGdHedHdIedIdJedJdKedKdLedLdMedMdNedNdOedOdPedQdRedRdSedSdTedTdUedUdVedVdWedWdXedXdYedYdZedZd[ed[d\ed\d]ed]d^ed^d_ed_d`ed`daedadbedbdcedcddedddeededfedfdgedgdhedhdiedidjedjdkedkdledldmedmdnedndoedodpedpdqedqdredrdsedsdtedtduedudvedvdwedwdxedxdyedydzed{d|ed|d}ed}d~ed~deddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddÃeddăeddƃeddǃeddȃeddɃeddʃedd˃edd̓eddσeddЃeddуedd҃eddԃeddՃeddփedd؃eddكeddڃeddۃedd܃eddރedd߃eddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddedded deddeddeddeddedd	ed
deddeddeddeddeddeddeddeddeddeddeddeddedded d!ed!d"ed#d$ed%d&ed&d'ed(d)ed)d*ed*d+ed,d-ed-d.ed/d0ed0d1ed2d3ed4d5ed6d7ed8d9ed:d;ed;d<ed<d=ed=d>ed>d?ed?d@ed@dAedAdBedBdCedCdDedDdEedEdFedFdGedHdIedJdKedKdLedLdMedMdNedOdPedQdRedSdTdUZeeef edV< g dWZee edX< edYe	Zee dZd[ e!e"e# Z$ee ed\< e%e$Z&eed]< g d^g d_d`gg dadbgdcddgg dedfgg dedggg dhg dig djg dkg dlg dmg dng dog dpg dqg drdsgg dtdugdvgg dwg dxg dyg dzg d{g d|d}gg d~dddgg dddgddgddgddcgdgd(Z'eeee f ed< ddddddddddddddddddddddddddddddddd Z(eeef ed< h dZ)ee ed< h dZ*ee ed< h dZ+ee ed< e%eZ,eed< dZ-eed< dS (      )BOM_UTF8BOM_UTF16_BEBOM_UTF16_LEBOM_UTF32_BEBOM_UTF32_LE)aliases)
IGNORECASEcompile)DictListSetUnion   )FREQUENCIES)s   +/v8s   +/v9s   +/v+s   +/v/s   +/v8-s   13)utf_8utf_7gb18030utf_32utf_16ENCODING_MARKS    TOO_SMALL_SEQUENCEg    cATOO_BIG_SEQUENCEi  UTF8_MAXIMAL_ALLOCATION      i  iP  i  i   ip  i   i   i0  i  i   i   iP  i  i  i   i@  i`  ip  i  i 	  i	  i 
  i
  i   i  i   i  i   i  i   i  i   i   i  i   i   i  i  i   i  i  i   i   i@  i`  i  i   i  i   iP  i  i  i   i   i  i   i  i  i   iP  i  i  i  i  i   i  i  i   i   i    ip   i   i   i !  iP!  i!  i "  i #  i $  i@$  i`$  i %  i%  i%  i &  i '  i'  i'  i (  i )  i)  i *  i +  i ,  i`,  i,  i -  i0-  i-  i-  i .  i.  i /  i/  i/  i 0  i@0  i0  i 1  i01  i1  i1  i1  i1  i 2  i 3  i 4  iM  i N  i   i  iФ  i   i@  i  i   i   i   i0  i@  i  i  i   i0  i`  i  i  i   i`  i  i  i   i0  ip  i  i   i  i   i  i   i   i   i   iP  i   i  i   i0  iP  ip  i   i  i   i  i  i@ i i i  i i i i  i0 iP i i i i  iP i i i  i0 ip i  i i  i@ i` i i i i 	 i 	 i@	 i	 i	 i 
 i`
 i
 i
 i
 i  i@ i` i i i  iP i i  i` i i  i i i  iP i i i  iP i i i  i i  i i i i  i` i i i  i@ i i  i  iP i i i  i  ip i i  i` i   i $ i$ iP% i 0 i04 i D iF i h i@j ipj ij i k ik i o io io i p i  i  i  i  i0 ip i  i  i i i  i  i  iP i  i` i i  i  i i  i0 i  i i  i` i  i  i  i0 i i  i  i  i  iP i i  i i  i  i  i   i i  i@ i  i i i  i  i   i  i  i (  zControl characterzBasic LatinzLatin-1 SupplementzLatin Extended-AzLatin Extended-BzIPA ExtensionszSpacing Modifier LetterszCombining Diacritical MarkszGreek and CopticCyrilliczCyrillic SupplementZArmenianHebrewArabicZSyriaczArabic SupplementZThaanaZNKoZ	SamaritanZMandaiczSyriac SupplementzArabic Extended-A
DevanagariZBengaliZGurmukhiZGujaratiZOriyaZTamilZTeluguZKannadaZ	MalayalamZSinhalaThaiZLaoZTibetanZMyanmarZGeorgianzHangul JamoZEthiopiczEthiopic SupplementZCherokeez%Unified Canadian Aboriginal SyllabicsZOghamZRunicZTagalogZHanunooZBuhidZTagbanwaZKhmerZ	Mongolianz.Unified Canadian Aboriginal Syllabics ExtendedZLimbuzTai LezNew Tai LuezKhmer SymbolsZBuginesezTai Thamz$Combining Diacritical Marks ExtendedZBalineseZ	SundaneseZBatakZLepchazOl ChikizCyrillic Extended CzSundanese SupplementzVedic ExtensionszPhonetic ExtensionszPhonetic Extensions Supplementz&Combining Diacritical Marks SupplementzLatin Extended AdditionalzGreek ExtendedzGeneral PunctuationzSuperscripts and SubscriptszCurrency Symbolsz'Combining Diacritical Marks for SymbolszLetterlike SymbolszNumber FormsZArrowszMathematical OperatorszMiscellaneous TechnicalzControl PictureszOptical Character RecognitionzEnclosed AlphanumericszBox DrawingzBlock ElementszGeometric ShapeszMiscellaneous SymbolsZDingbatsz$Miscellaneous Mathematical Symbols-AzSupplemental Arrows-AzBraille PatternszSupplemental Arrows-Bz$Miscellaneous Mathematical Symbols-Bz#Supplemental Mathematical Operatorsz Miscellaneous Symbols and ArrowsZ
GlagoliticzLatin Extended-CZCopticzGeorgian SupplementZTifinaghzEthiopic ExtendedzCyrillic Extended-AzSupplemental PunctuationzCJK Radicals SupplementzKangxi Radicalsz"Ideographic Description CharacterszCJK Symbols and PunctuationHiraganaKatakanaZBopomofozHangul Compatibility JamoZKanbunzBopomofo ExtendedzCJK StrokeszKatakana Phonetic ExtensionszEnclosed CJK Letters and MonthszCJK Compatibilityz"CJK Unified Ideographs Extension AzYijing Hexagram SymbolszCJK Unified IdeographszYi SyllableszYi RadicalsZLisuZVaizCyrillic Extended-BZBamumzModifier Tone LetterszLatin Extended-DzSyloti NagrizCommon Indic Number FormszPhags-paZ
SaurashtrazDevanagari ExtendedzKayah LiZRejangzHangul Jamo Extended-AZJavanesezMyanmar Extended-BZChamzMyanmar Extended-AzTai VietzMeetei Mayek ExtensionszEthiopic Extended-AzLatin Extended-EzCherokee SupplementzMeetei MayekzHangul SyllableszHangul Jamo Extended-BzHigh SurrogateszHigh Private Use SurrogateszLow SurrogateszPrivate Use AreazCJK Compatibility IdeographszAlphabetic Presentation FormszArabic Presentation Forms-AzVariation SelectorszVertical FormszCombining Half MarkszCJK Compatibility FormszSmall Form VariantszArabic Presentation Forms-BzHalfwidth and Fullwidth FormsZSpecialszLinear B SyllabaryzLinear B IdeogramszAegean NumberszAncient Greek NumberszAncient SymbolszPhaistos DiscZLycianZCarianzCoptic Epact Numbersz
Old ItalicZGothicz
Old PermicZUgariticzOld PersianZDeseretZShavianZOsmanyaZOsageZElbasanzCaucasian AlbanianzLinear AzCypriot SyllabaryzImperial AramaicZ	PalmyreneZ	NabataeanZHatranZ
PhoenicianZLydianzMeroitic HieroglyphszMeroitic CursiveZ
KharoshthizOld South ArabianzOld North ArabianZ
ManichaeanZAvestanzInscriptional ParthianzInscriptional PahlavizPsalter Pahlaviz
Old TurkiczOld HungarianzRumi Numeral SymbolsZBrahmiZKaithizSora SompengZChakmaZMahajaniZSharadazSinhala Archaic NumbersZKhojkiZMultaniZ	KhudawadiZGranthaZNewaZTirhutaZSiddhamZModizMongolian SupplementZTakriZAhomzWarang CitizZanabazar SquareZSoyombozPau Cin HauZ	BhaiksukiZMarchenzMasaram GondiZ	Cuneiformz!Cuneiform Numbers and PunctuationzEarly Dynastic CuneiformzEgyptian HieroglyphszAnatolian HieroglyphszBamum SupplementZMroz	Bassa VahzPahawh HmongZMiaoz#Ideographic Symbols and PunctuationZTangutzTangut ComponentszKana SupplementzKana Extended-AZNushuZDuployanzShorthand Format ControlszByzantine Musical SymbolszMusical SymbolszAncient Greek Musical NotationzTai Xuan Jing SymbolszCounting Rod Numeralsz!Mathematical Alphanumeric SymbolszSutton SignWritingzGlagolitic SupplementzMende KikakuiZAdlamz&Arabic Mathematical Alphabetic SymbolszMahjong TileszDomino TileszPlaying Cardsz Enclosed Alphanumeric SupplementzEnclosed Ideographic Supplementz%Miscellaneous Symbols and PictographszEmoticons range(Emoji)zOrnamental DingbatszTransport and Map SymbolszAlchemical SymbolszGeometric Shapes ExtendedzSupplemental Arrows-Cz$Supplemental Symbols and Pictographsz"CJK Unified Ideographs Extension Bz"CJK Unified Ideographs Extension Cz"CJK Unified Ideographs Extension Dz"CJK Unified Ideographs Extension Ez"CJK Unified Ideographs Extension Fz'CJK Compatibility Ideographs SupplementTagszVariation Selectors SupplementUNICODE_RANGES_COMBINED)Z
SupplementZExtendedZ
ExtensionsZModifierZMarksPunctuationZSymbolsZFormsZ	OperatorsZMiscellaneousZDrawingZBlockZShapesZSupplementalr#   UNICODE_SECONDARY_RANGE_KEYWORDz^(?:(?:encoding)|(?:charset)|(?:coding))(?:[\:= ]{1,10})(?:[\"\']?)([a-zA-Z0-9\-_]+)(?:[\"\']?)c                 C   s   |  ddu o| dvS )NZ_codecF>   tactismbcsrot_13)endswith)x r,   \/var/www/html/python-backend/venv/lib/python3.9/site-packages/charset_normalizer/constant.py<lambda>P  s   r.   IANA_SUPPORTEDIANA_SUPPORTED_COUNT)cp1026cp1140cp273cp500)cp037r2   r3   r4   cp866)r5   r1   r3   r4   	iso8859_2kz1048ptcp154)
iso8859_15	iso8859_9latin_1	iso8859_7
iso8859_13)r5   r1   r2   r4   )cp850cp858cp860cp861cp862cp863cp865)r5   r1   r2   r3   )cp437cp857r@   rE   )r?   r@   rE   )rF   r?   rG   rE   )rF   rB   rC   rD   rE   )rF   rA   rC   rD   rE   )rF   rA   rB   rD   rE   )rF   rA   rB   rC   rE   )rF   r?   rG   r@   rA   rB   rC   rD   cp1125)
iso8859_14r:   	iso8859_4r;   r<   tis_620cp1257)
iso8859_10r:   
iso8859_16	iso8859_3r;   r<   )cp1252cp1254rM   rI   rN   rO   r;   r<   )rI   r:   r7   rO   r;   r<   )cp1250rN   rJ   )rI   r:   rN   r;   r<   )rM   r7   r;   r<   cp1253)
rP   rQ   cp1258rM   rI   r:   rN   rO   rJ   r<   cp1251)
rP   rQ   rT   rM   rI   r:   rN   rO   rJ   r;   	mac_romanmac_turkishmac_iceland
iso8859_11)(r5   r1   rH   r2   rR   rU   rP   rS   rQ   rL   r3   rF   r4   r?   rG   r@   rA   rB   rC   rD   rE   r6   rM   rY   r>   rI   r:   rN   r7   rO   rJ   r=   r;   r8   r<   rX   rV   rW   r9   rK   IANA_SUPPORTED_SIMILARzISO-2022-KRzISO-2022-JPzEUC-KRzTIS-620zUTF-32zEUC-JPzKOI8-Rz
ISO-8859-1z
ISO-8859-2z
ISO-8859-5z
ISO-8859-6z
ISO-8859-7z
ISO-8859-8zUTF-16IBM855MacCyrillicGB2312GB18030CP932IBM866zutf-8z	UTF-8-SIG	SHIFT_JISBig5zwindows-1250zwindows-1251zWindows-1252zwindows-1253zwindows-1255zwindows-1256zWindows-1254CP949) 
iso2022_kr
iso2022_jpeuc_krrK   r   euc_jpkoi8_r	iso8859_1r7   	iso8859_5	iso8859_6r=   	iso8859_8r   cp855mac_cyrillicgb2312r   cp932r6   r   Z	utf_8_sig	shift_jisbig5rR   rU   rP   rS   cp1255cp1256rQ   cp949CHARDET_CORRESPONDENCE>   []-=/;>{|:<&"},COMMON_SAFE_ASCII_CHARACTERS>   ru   johabrf   KO_NAMES>   	big5hkscscp950rr   hzZH_NAMESLANGUAGE_SUPPORTED_COUNT   TRACEN).codecsr   r   r   r   r   Zencodings.aliasesr   rer   r	   Z
re_compiletypingr
   r   r   r   Zassetsr   r   strbytes__annotations__r   intr   r   ranger$   r&   ZRE_POSSIBLE_ENCODING_INDICATIONsortedfilterlistsetvaluesr/   lenr0   rZ   rv   r   r   r   r   r   r,   r,   r,   r-   <module>   s  "    







Z$