Viewing File: /opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyc


t_c@`s+ddlmZmZmZddlmZddlmZm	Z	ddl
mZddlm
Z
ddlmZddlmZmZdd	lmZmZmZdd
lmZmZddlmZddlmZdd
lmZeeZedkreZne	ZdefdYZdS(i(tabsolute_importtdivisiontunicode_literals(tunichr(tdequetOrderedDict(tversion_infoi(tspaceCharacters(tentities(tasciiLetterstasciiUpper2Lower(tdigitst	hexDigitstEOF(t
tokenTypest
tagTokenTypes(treplacementCharacters(tHTMLInputStream(tTrieiit
HTMLTokenizercB`seZdZdJdZdZdZdJedZdZ	dZ
dZdZd	Z
d
ZdZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#d Z$d!Z%d"Z&d#Z'd$Z(d%Z)d&Z*d'Z+d(Z,d)Z-d*Z.d+Z/d,Z0d-Z1d.Z2d/Z3d0Z4d1Z5d2Z6d3Z7d4Z8d5Z9d6Z:d7Z;d8Z<d9Z=d:Z>d;Z?d<Z@d=ZAd>ZBd?ZCd@ZDdAZEdBZFdCZGdDZHdEZIdFZJdGZKdHZLdIZMRS(Ku	 This class takes care of tokenizing HTML.

    * self.currentToken
      Holds the token that is currently being processed.

    * self.state
      Holds a reference to the method to be invoked... XXX

    * self.stream
      Points to HTMLInputStream object.
    cK`sbt|||_||_t|_g|_|j|_t|_d|_
tt|j
dS(N(RtstreamtparsertFalset
escapeFlagt
lastFourCharst	dataStatetstatetescapetNonetcurrentTokentsuperRt__init__(tselfRRtkwargs((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyR(s					cc`s}tg|_xg|jrxx6|jjrVitdd6|jjjdd6Vq!Wx|jrt|jjVqZWqWdS(u This is where the magic happens.

        We do our usually processing through the states and when we have a token
        to return we yield the token which pauses processing until the next token
        is requested.
        u
ParseErrorutypeiudataN(Rt
tokenQueueRRterrorsRtpoptpopleft(R ((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyt__iter__7s*c	0C`st}d}|r!t}d}ng}|jj}x8||krp|tk	rp|j||jj}q9Wtdj||}|tkrt|}|j	jit
dd6dd6i|d6d	6nd
|kodkns|dkr3d
}|j	jit
dd6dd6i|d6d	6nrd|koJdknsd|kofdknsd|kodknsd|kodkns|tddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7dg#krQ|j	jit
dd6dd6i|d6d	6nyt|}WnAt
k
r|d8}td
|d?Btd9|d:@B}nX|d;kr|j	jit
dd6d<d6|jj|n|S(=uThis function returns either U+FFFD or the character based on the
        decimal or hexadecimal representation. It also discards ";" if present.
        If not present self.tokenQueue.append({"type": tokenTypes["ParseError"]}) is invoked.
        i
iuu
ParseErrorutypeu$illegal-codepoint-for-numeric-entityudatau	charAsIntudatavarsiiiu�iiiiiiiiiiiiiiiiiiiiiiiiiiii	i	i
i
iiiii
i
iiiiiiiiu;u numeric-entity-without-semicolon(RRRtcharR
tappendtinttjoinRR"Rt	frozensettchrt
ValueErrortunget(	R tisHextallowedtradixt	charStacktct	charAsIntR'tv((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pytconsumeNumberEntityGs`	



*c	C`sd}|jjg}|dtks]|dtddfks]|dk	rt||dkrt|jj|dn|ddkrpt}|j|jj|ddkrt}|j|jjn|r|dt	ks|r"|dt
kr"|jj|d|j|}q7|jjit
dd	6d
d6|jj|jddj|}nxF|dtk	rtjdj|sPn|j|jjqsWy,tjdj|d }t|}Wntk
rd}nX|dk	r|dd
kr@|jjit
dd	6dd6n|dd
kr|r||tks||t
ks||dkr|jj|jddj|}q7t|}|jj|j|dj||7}nK|jjit
dd	6dd6|jj|jddj|}|r[|jdddc|7<n=|tkrpd}nd}|jjit
|d	6|d6dS(Nu&iu<u#iuxuXu
ParseErrorutypeuexpected-numeric-entityudatauu;unamed-entity-without-semicolonu=uexpected-named-entityiuSpaceCharactersu
Characters(uxuX(RR'RR
RR.RR(tTrueRRR6R"RR$R*tentitiesTriethas_keys_with_prefixtlongest_prefixtlentKeyErrorR	RR(	R tallowedChart
fromAttributetoutputR2thext
entityNametentityLengtht	tokenType((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyt
consumeEntitysf)


	cC`s|jd|dtdS(uIThis method replaces the need for "entityInAttributeValueState".
        R=R>N(RDR7(R R=((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pytprocessEntityInAttributescC`s4|j}|dtkr|djt|d<|dtdkr|d}t|}t|t|kr|j|dddn||d<n|dtdkr|dr|jj	itdd6d	d6n|d
r|jj	itdd6dd6qqn|jj	||j
|_dS(uThis method is a generic handler for emitting the tags. It also sets
        the state to "data" because that's what's needed after a token has been
        emitted.
        utypeunameuStartTagudataNiuEndTagu
ParseErroruattributes-in-end-taguselfClosinguself-closing-flag-on-end-tag(RRt	translateR
RtattributeMapR;tupdateR"R(RR(R ttokentrawtdata((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pytemitCurrentTokens$	



cC`s(|jj}|dkr*|j|_n|dkrE|j|_n|dkr|jjitdd6dd6|jjitdd6dd6n|tkrt	S|t
kr|jjitd	d6||jjt
td6n8|jjd
}|jjitdd6||d6tS(Nu&u<uu
ParseErrorutypeuinvalid-codepointudatau
CharactersuSpaceCharacters(u&u<u(
RR'tentityDataStateRttagOpenStateR"R(RR
RRt
charsUntilR7(R RKtchars((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs&!cC`s|j|j|_tS(N(RDRRR7(R ((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRMs
cC`s(|jj}|dkr*|j|_n|dkrE|j|_n|tkrUtS|dkr|jjit	dd6dd6|jjit	dd6d	d6n||t
kr|jjit	d
d6||jjt
td6n8|jjd}|jjit	dd6||d6tS(Nu&u<uu
ParseErrorutypeuinvalid-codepointudatau
Charactersu�uSpaceCharacters(u&u<u(
RR'tcharacterReferenceInRcdataRtrcdataLessThanSignStateR
RR"R(RRROR7(R RKRP((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pytrcdataState"s&!cC`s|j|j|_tS(N(RDRSRR7(R ((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRQ?s
cC`s|jj}|dkr*|j|_n|dkr}|jjitdd6dd6|jjitdd6dd6nH|tkrtS|jj	d	}|jjitdd6||d6t
S(
Nu<uu
ParseErrorutypeuinvalid-codepointudatau
Charactersu�(u<u(RR'trawtextLessThanSignStateRR"R(RR
RROR7(R RKRP((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pytrawtextStateDscC`s|jj}|dkr*|j|_n|dkr}|jjitdd6dd6|jjitdd6dd6nH|tkrtS|jj	d	}|jjitdd6||d6t
S(
Nu<uu
ParseErrorutypeuinvalid-codepointudatau
Charactersu�(u<u(RR'tscriptDataLessThanSignStateRR"R(RR
RROR7(R RKRP((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pytscriptDataStateVscC`s|jj}|tkrtS|dkrr|jjitdd6dd6|jjitdd6dd6n2|jjitdd6||jjdd6tS(Nuu
ParseErrorutypeuinvalid-codepointudatau
Charactersu�(	RR'R
RR"R(RROR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pytplaintextStatehscC`s|jj}|dkr*|j|_nr|dkrE|j|_nW|tkritdd6|d6gd6td6td6|_|j	|_n|d	kr|j
jitd
d6dd6|j
jitdd6d
d6|j|_n|dkr<|j
jitd
d6dd6|jj
||j|_n`|j
jitd
d6dd6|j
jitdd6dd6|jj
||j|_tS(Nu!u/uStartTagutypeunameudatauselfClosinguselfClosingAcknowledgedu>u
ParseErroru'expected-tag-name-but-got-right-bracketu
Charactersu<>u?u'expected-tag-name-but-got-question-markuexpected-tag-nameu<(RR'tmarkupDeclarationOpenStateRtcloseTagOpenStateR	RRRttagNameStateR"R(RR.tbogusCommentStateR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRNws6
""cC`s?|jj}|tkrSitdd6|d6gd6td6|_|j|_n|dkr|jj	itdd6dd6|j
|_n|tkr|jj	itdd6d	d6|jj	itd
d6dd6|j
|_nL|jj	itdd6dd6i|d6d
6|jj||j
|_tS(NuEndTagutypeunameudatauselfClosingu>u
ParseErroru*expected-closing-tag-but-got-right-bracketu expected-closing-tag-but-got-eofu
Charactersu</u!expected-closing-tag-but-got-charudatavars(RR'R	RRRR[RR"R(RR
R.R\R7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRZs("cC`s|jj}|tkr*|j|_n|dkrC|jn|tkr|jjit	dd6dd6|j
|_nr|dkr|j|_nW|dkr|jjit	dd6dd6|jd	cd
7<n|jd	c|7<t
S(Nu>u
ParseErrorutypeueof-in-tag-nameudatau/uuinvalid-codepointunameu�(RR'RtbeforeAttributeNameStateRRLR
R"R(RRtselfClosingStartTagStateRR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyR[s"
cC`su|jj}|dkr3d|_|j|_n>|jjitdd6dd6|jj||j	|_t
S(Nu/uu
Charactersutypeu<udata(RR'ttemporaryBuffertrcdataEndTagOpenStateRR"R(RR.RSR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRRs	"cC`s{|jj}|tkr9|j|7_|j|_n>|jjitdd6dd6|jj	||j
|_tS(Nu
Charactersutypeu</udata(RR'R	R_trcdataEndTagNameStateRR"R(RR.RSR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyR`s"cC`s|jo(|jdj|jjk}|jj}|tkr|ritdd6|jd6gd6td6|_|j|_	n|dkr|ritdd6|jd6gd6td6|_|j
|_	n|dkr+|r+itdd6|jd6gd6td6|_|j|j|_	nc|t
krI|j|7_nE|jjitdd6d	|jd6|jj||j|_	tS(
NunameuEndTagutypeudatauselfClosingu/u>u
Charactersu</(RtlowerR_RR'RRRR]RR^RLRR	R"R(R.RSR7(R tappropriateRK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRas2+



cC`su|jj}|dkr3d|_|j|_n>|jjitdd6dd6|jj||j	|_t
S(Nu/uu
Charactersutypeu<udata(RR'R_trawtextEndTagOpenStateRR"R(RR.RUR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRTs	"cC`s{|jj}|tkr9|j|7_|j|_n>|jjitdd6dd6|jj	||j
|_tS(Nu
Charactersutypeu</udata(RR'R	R_trawtextEndTagNameStateRR"R(RR.RUR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRds"cC`s|jo(|jdj|jjk}|jj}|tkr|ritdd6|jd6gd6td6|_|j|_	n|dkr|ritdd6|jd6gd6td6|_|j
|_	n|dkr+|r+itdd6|jd6gd6td6|_|j|j|_	nc|t
krI|j|7_nE|jjitdd6d	|jd6|jj||j|_	tS(
NunameuEndTagutypeudatauselfClosingu/u>u
Charactersu</(RRbR_RR'RRRR]RR^RLRR	R"R(R.RUR7(R RcRK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRes2+



cC`s|jj}|dkr3d|_|j|_n{|dkrp|jjitdd6dd6|j|_n>|jjitdd6dd6|jj	||j
|_tS(	Nu/uu!u
Charactersutypeu<!udatau<(RR'R_tscriptDataEndTagOpenStateRR"R(RtscriptDataEscapeStartStateR.RWR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRV,s	""cC`s{|jj}|tkr9|j|7_|j|_n>|jjitdd6dd6|jj	||j
|_tS(Nu
Charactersutypeu</udata(RR'R	R_tscriptDataEndTagNameStateRR"R(RR.RWR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRf:s"cC`s|jo(|jdj|jjk}|jj}|tkr|ritdd6|jd6gd6td6|_|j|_	n|dkr|ritdd6|jd6gd6td6|_|j
|_	n|dkr+|r+itdd6|jd6gd6td6|_|j|j|_	nc|t
krI|j|7_nE|jjitdd6d	|jd6|jj||j|_	tS(
NunameuEndTagutypeudatauselfClosingu/u>u
Charactersu</(RRbR_RR'RRRR]RR^RLRR	R"R(R.RWR7(R RcRK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRhEs2+



cC`sl|jj}|dkrL|jjitdd6dd6|j|_n|jj||j|_t	S(Nu-u
Charactersutypeudata(
RR'R"R(RtscriptDataEscapeStartDashStateRR.RWR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRgas"cC`sl|jj}|dkrL|jjitdd6dd6|j|_n|jj||j|_t	S(Nu-u
Charactersutypeudata(
RR'R"R(RtscriptDataEscapedDashDashStateRR.RWR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRiks"cC`s|jj}|dkrL|jjitdd6dd6|j|_n|dkrg|j|_n|dkr|jjitdd6dd6|jjitdd6d	d6nS|tkr|j	|_n8|jj
d
}|jjitdd6||d6tS(Nu-u
Charactersutypeudatau<uu
ParseErroruinvalid-codepointu�(u<u-u(RR'R"R(RtscriptDataEscapedDashStateRt"scriptDataEscapedLessThanSignStateR
RROR7(R RKRP((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pytscriptDataEscapedStateus""cC`s|jj}|dkrL|jjitdd6dd6|j|_n|dkrg|j|_n|dkr|jjitdd6dd6|jjitdd6d	d6|j|_nI|t	kr|j
|_n.|jjitdd6|d6|j|_tS(
Nu-u
Charactersutypeudatau<uu
ParseErroruinvalid-codepointu�(RR'R"R(RRjRRlRmR
RR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRks"""cC`sD|jj}|dkr@|jjitdd6dd6n|dkr[|j|_n|dkr|jjitdd6dd6|j|_n|dkr|jjitdd6d	d6|jjitdd6d
d6|j|_nI|t	kr|j
|_n.|jjitdd6|d6|j|_tS(Nu-u
Charactersutypeudatau<u>uu
ParseErroruinvalid-codepointu�(RR'R"R(RRlRRWRmR
RR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRjs&%""cC`s|jj}|dkr3d|_|j|_n|tkr}|jjitdd6d|d6||_|j	|_n>|jjitdd6dd6|jj
||j|_tS(Nu/uu
Charactersutypeu<udata(
RR'R_t scriptDataEscapedEndTagOpenStateRR	R"R(Rt scriptDataDoubleEscapeStartStateR.RmR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRls	&	"cC`su|jj}|tkr3||_|j|_n>|jjitdd6dd6|jj	||j
|_tS(Nu
Charactersutypeu</udata(RR'R	R_t scriptDataEscapedEndTagNameStateRR"R(RR.RmR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRns	"cC`s|jo(|jdj|jjk}|jj}|tkr|ritdd6|jd6gd6td6|_|j|_	n|dkr|ritdd6|jd6gd6td6|_|j
|_	n|dkr+|r+itdd6|jd6gd6td6|_|j|j|_	nc|t
krI|j|7_nE|jjitdd6d	|jd6|jj||j|_	tS(
NunameuEndTagutypeudatauselfClosingu/u>u
Charactersu</(RRbR_RR'RRRR]RR^RLRR	R"R(R.RmR7(R RcRK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRps2+



cC`s|jj}|ttdBkrz|jjitdd6|d6|jjdkrk|j	|_
q|j|_
n\|tkr|jjitdd6|d6|j|7_n|jj
||j|_
tS(Nu/u>u
Charactersutypeudatauscript(u/u>(RR'RR+R"R(RR_RbtscriptDataDoubleEscapedStateRRmR	R.R7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRos""cC`s?|jj}|dkrL|jjitdd6dd6|j|_n|dkr|jjitdd6dd6|j|_n|dkr|jjitdd6dd6|jjitdd6d	d6n_|tkr|jjitdd6d
d6|j	|_n"|jjitdd6|d6t
S(Nu-u
Charactersutypeudatau<uu
ParseErroruinvalid-codepointu�ueof-in-script-in-script(RR'R"R(Rt scriptDataDoubleEscapedDashStateRt(scriptDataDoubleEscapedLessThanSignStateR
RR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRqs$"""cC`sW|jj}|dkrL|jjitdd6dd6|j|_n|dkr|jjitdd6dd6|j|_n|dkr|jjitdd6dd6|jjitdd6d	d6|j|_nk|t	kr%|jjitdd6d
d6|j
|_n.|jjitdd6|d6|j|_tS(Nu-u
Charactersutypeudatau<uu
ParseErroruinvalid-codepointu�ueof-in-script-in-script(RR'R"R(Rt$scriptDataDoubleEscapedDashDashStateRRsRqR
RR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRrs("""cC`s|jj}|dkr@|jjitdd6dd6nD|dkr}|jjitdd6dd6|j|_n|dkr|jjitdd6dd6|j|_n|dkr|jjitdd6d	d6|jjitdd6d
d6|j|_nk|t	krV|jjitdd6dd6|j
|_n.|jjitdd6|d6|j|_tS(Nu-u
Charactersutypeudatau<u>uu
ParseErroruinvalid-codepointu�ueof-in-script-in-script(RR'R"R(RRsRRWRqR
RR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRt%s,%"""cC`su|jj}|dkrU|jjitdd6dd6d|_|j|_n|jj||j	|_t
S(Nu/u
Charactersutypeudatau(RR'R"R(RR_tscriptDataDoubleEscapeEndStateRR.RqR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs>s"	cC`s|jj}|ttdBkrz|jjitdd6|d6|jjdkrk|j	|_
q|j|_
n\|tkr|jjitdd6|d6|j|7_n|jj
||j|_
tS(Nu/u>u
Charactersutypeudatauscript(u/u>(RR'RR+R"R(RR_RbRmRRqR	R.R7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRuIs""cC`s|jj}|tkr1|jjttnz|tkrf|jdj|dg|j|_	nE|dkr|j
n,|dkr|j|_	n|dkr|jjit
d	d
6dd6|jdj|dg|j|_	n|dkrH|jjit
d	d
6d
d6|jdjddg|j|_	nc|tkr|jjit
d	d
6dd6|j|_	n&|jdj|dg|j|_	tS(Nudatauu>u/u'u"u=u<u
ParseErrorutypeu#invalid-character-in-attribute-nameuuinvalid-codepointu�u#expected-attribute-name-but-got-eof(u'u"u=u<(RR'RROR7R	RR(tattributeNameStateRRLR^R"RR
R(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyR]Ys6
cC`sv|jj}t}t}|dkr6|j|_n|tkry|jdddc||jjtt7<t}nM|dkrt}n8|t	kr|j
|_n|dkr|j|_n|dkr|jj
itdd	6d
d6|jdddcd7<t}n|dkrh|jj
itdd	6dd6|jdddc|7<t}n^|tkr|jj
itdd	6dd6|j|_n!|jdddc|7<t}|rr|jdddjt|jddd<x`|jdd D]M\}}|jddd|kr|jj
itdd	6dd6PqqW|rr|jqrntS(Nu=udataiiu>u/uu
ParseErrorutypeuinvalid-codepointu�u'u"u<u#invalid-character-in-attribute-nameueof-in-attribute-nameuduplicate-attribute(u'u"u<(RR'R7RtbeforeAttributeValueStateRR	RRORtafterAttributeNameStateR^R"R(RR
RRFR
RL(R RKtleavingThisStatet	emitTokentnamet_((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRvwsR				-cC`s|jj}|tkr1|jjttn|dkrL|j|_nz|dkre|jna|tkr|j	dj
|dg|j|_n,|dkr|j|_n|dkr|j
j
itdd6d	d6|j	dj
d
dg|j|_n|dkrc|j
j
itdd6dd6|j	dj
|dg|j|_nc|tkr|j
j
itdd6dd6|j|_n&|j	dj
|dg|j|_tS(Nu=u>udatauu/uu
ParseErrorutypeuinvalid-codepointu�u'u"u<u&invalid-character-after-attribute-nameuexpected-end-of-tag-but-got-eof(u'u"u<(RR'RROR7RwRRLR	RR(RvR^R"RR
R(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRxs:
cC`s|jj}|tkr1|jjttn|dkrL|j|_n|dkrw|j|_|jj|nj|dkr|j	|_nO|dkr|j
jitdd6dd6|j
n|d	kr%|j
jitdd6d
d6|jdddcd
7<|j|_n|dkr}|j
jitdd6dd6|jdddc|7<|j|_nd|tkr|j
jitdd6dd6|j|_n'|jdddc|7<|j|_tS(Nu"u&u'u>u
ParseErrorutypeu.expected-attribute-value-but-got-right-bracketudatauuinvalid-codepointiiu�u=u<u`u"equals-in-unquoted-attribute-valueu$expected-attribute-value-but-got-eof(u=u<u`(RR'RROR7tattributeValueDoubleQuotedStateRtattributeValueUnQuotedStateR.tattributeValueSingleQuotedStateR"R(RRLRR
R(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRws>
cC`s|jj}|dkr*|j|_n|dkrF|jdn|dkr|jjitdd6dd6|jddd	cd
7<nh|t	kr|jjitdd6dd6|j
|_n+|jddd	c||jjd7<tS(
Nu"u&uu
ParseErrorutypeuinvalid-codepointudataiiu�u#eof-in-attribute-value-double-quote(u"u&u(
RR'tafterAttributeValueStateRRER"R(RRR
RROR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyR}s cC`s|jj}|dkr*|j|_n|dkrF|jdn|dkr|jjitdd6dd6|jddd	cd
7<nh|t	kr|jjitdd6dd6|j
|_n+|jddd	c||jjd7<tS(
Nu'u&uu
ParseErrorutypeuinvalid-codepointudataiiu�u#eof-in-attribute-value-single-quote(u'u&u(
RR'RRRER"R(RRR
RROR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs cC`sm|jj}|tkr*|j|_n?|dkrF|jdn#|dkr_|jn
|dkr|jjit	dd	6d
d6|j
ddd
c|7<n|dkr|jjit	dd	6dd6|j
ddd
cd7<nr|tkr4|jjit	dd	6dd6|j|_n5|j
ddd
c||jj
tdtB7<tS(Nu&u>u"u'u=u<u`u
ParseErrorutypeu0unexpected-character-in-unquoted-attribute-valueudataiiuuinvalid-codepointu�u eof-in-attribute-value-no-quotes(u"u'u=u<u`(u&u>u"u'u=u<u`u(RR'RR]RRERLR"R(RRR
RROR+R7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyR~s,
!cC`s|jj}|tkr*|j|_n|dkrC|jn|dkr^|j|_n|tkr|jj	it
dd6dd6|jj||j|_n>|jj	it
dd6dd6|jj||j|_t
S(Nu>u/u
ParseErrorutypeu$unexpected-EOF-after-attribute-valueudatau*unexpected-character-after-attribute-value(RR'RR]RRLR^R
R"R(RR.RR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyR.s"
cC`s|jj}|dkr5t|jd<|jn|tkr|jjitdd6dd6|jj	||j
|_n>|jjitdd6dd6|jj	||j|_tS(Nu>uselfClosingu
ParseErrorutypeu#unexpected-EOF-after-solidus-in-tagudatau)unexpected-character-after-solidus-in-tag(
RR'R7RRLR
R"R(RR.RRR](R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyR^Bs

cC`sc|jjd}|jdd}|jjitdd6|d6|jj|j|_t	S(Nu>uu�uCommentutypeudata(
RROtreplaceR"R(RR'RRR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyR\Ts	
c	C`sB|jjg}|ddkrv|j|jj|ddkritdd6dd6|_|j|_tSnw|ddkr(t}xPdd d!d"d#d$fD]6}|j|jj|d|krt}PqqW|ritdd6dd6dd6dd6td6|_|j
|_tSn|ddkr|jdk	r|jjj
r|jjj
dj|jjjkrt}xPddddddgD]6}|j|jj|d|krt}PqqW|r|j|_tSn|jjitdd6dd6x |r1|jj|jqW|j|_tS(%Niu-uCommentutypeuudatauduDuouOucuCutuTuyuYupuPueuEuDoctypeunameupublicIdusystemIducorrectu[uAu
ParseErroruexpected-dashes-or-doctype(uduD(uouO(ucuC(utuT(uyuY(upuP(ueuE(RR'R(RRtcommentStartStateRR7RRtdoctypeStateRttreetopenElementst	namespacetdefaultNamespacetcdataSectionStateR"R.R$R\(R R2tmatchedtexpected((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRYcsR
%	cC`s1|jj}|dkr*|j|_n|dkrn|jjitdd6dd6|jdcd7<n|dkr|jjitdd6d	d6|jj|j|j|_no|t	kr|jjitdd6d
d6|jj|j|j|_n|jdc|7<|j
|_tS(Nu-uu
ParseErrorutypeuinvalid-codepointudatau�u>uincorrect-commentueof-in-comment(RR'tcommentStartDashStateRR"R(RRRR
tcommentStateR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs(cC`s5|jj}|dkr*|j|_n|dkrn|jjitdd6dd6|jdcd7<n|dkr|jjitdd6d	d6|jj|j|j|_ns|t	kr|jjitdd6d
d6|jj|j|j|_n#|jdcd|7<|j
|_tS(Nu-uu
ParseErrorutypeuinvalid-codepointudatau-�u>uincorrect-commentueof-in-comment(RR'tcommentEndStateRR"R(RRRR
RR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs(cC`s|jj}|dkr*|j|_n|dkrn|jjitdd6dd6|jdcd7<ns|tkr|jjitdd6dd6|jj|j|j	|_n#|jdc||jj
d	7<tS(
Nu-uu
ParseErrorutypeuinvalid-codepointudatau�ueof-in-comment(u-u(RR'tcommentEndDashStateRR"R(RRR
RROR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRscC`s|jj}|dkr*|j|_n|dkrz|jjitdd6dd6|jdcd7<|j|_ns|t	kr|jjitdd6dd6|jj|j|j
|_n#|jdcd|7<|j|_tS(	Nu-uu
ParseErrorutypeuinvalid-codepointudatau-�ueof-in-comment-end-dash(RR'RRR"R(RRRR
RR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs cC`s|jj}|dkr=|jj|j|j|_nf|dkr|jjitdd6dd6|jdcd7<|j|_n|dkr|jjitdd6d	d6|j	|_n|d
kr|jjitdd6dd6|jdc|7<n|t
kr^|jjitdd6dd6|jj|j|j|_nE|jjitdd6d
d6|jdcd|7<|j|_tS(Nu>uu
ParseErrorutypeuinvalid-codepointudatau--�u!u,unexpected-bang-after-double-dash-in-commentu-u,unexpected-dash-after-double-dash-in-commentueof-in-comment-double-dashuunexpected-char-in-commentu--(RR'R"R(RRRRRtcommentEndBangStateR
R7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs6cC`s2|jj}|dkr=|jj|j|j|_n|dkrk|jdcd7<|j|_n|dkr|jjitdd6dd6|jdcd	7<|j	|_ns|t
kr|jjitdd6d
d6|jj|j|j|_n#|jdcd|7<|j	|_tS(Nu>u-udatau--!uu
ParseErrorutypeuinvalid-codepointu--!�ueof-in-comment-end-bang-state(RR'R"R(RRRRRRR
R7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs(cC`s|jj}|tkr*|j|_n|tkr|jjitdd6dd6t	|j
d<|jj|j
|j|_n>|jjitdd6dd6|jj||j|_t
S(Nu
ParseErrorutypeu!expected-doctype-name-but-got-eofudataucorrectuneed-space-after-doctype(RR'RtbeforeDoctypeNameStateRR
R"R(RRRRR.R7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs
cC`s?|jj}|tkrn|dkr{|jjitdd6dd6t|jd<|jj|j|j|_	n|dkr|jjitdd6dd6d	|jd
<|j
|_	nv|tkr"|jjitdd6dd6t|jd<|jj|j|j|_	n||jd
<|j
|_	tS(Nu>u
ParseErrorutypeu+expected-doctype-name-but-got-right-bracketudataucorrectuuinvalid-codepointu�unameu!expected-doctype-name-but-got-eof(
RR'RR"R(RRRRRtdoctypeNameStateR
R7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyR*s.



cC`ss|jj}|tkrG|jdjt|jd<|j|_n(|dkr|jdjt|jd<|jj	|j|j
|_n|dkr|jj	itdd6dd6|jdcd7<|j|_n|t
kr\|jj	itdd6d	d6t|jd
<|jdjt|jd<|jj	|j|j
|_n|jdc|7<tS(Nunameu>uu
ParseErrorutypeuinvalid-codepointudatau�ueof-in-doctype-nameucorrect(RR'RRRFR
tafterDoctypeNameStateRR"R(RRRR
RR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRDs,
cC`s|jj}|tkrn|dkrL|jj|j|j|_n|tkrt	|jd<|jj
||jjitdd6dd6|jj|j|j|_n9|dkr)t}xBd d!d"d#d$fD]+}|jj}||krt	}PqqW|r|j
|_tSnp|d%krt}xBd&d'd(d)d*fD]+}|jj}||krQt	}PqQqQW|r|j|_tSn|jj
||jjitdd6dd6i|d6d6t	|jd<|j|_tS(+Nu>ucorrectu
ParseErrorutypeueof-in-doctypeudataupuPuuuUubuBuluLuiuIucuCusuSuyuYutuTueuEumuMu*expected-space-or-right-bracket-in-doctypeudatavars(upuP(uuuU(ubuB(uluL(uiuI(ucuC(usuS(uyuY(usuS(utuT(ueuE(umuM(RR'RR"R(RRRR
RR.RR7tafterDoctypePublicKeywordStatetafterDoctypeSystemKeywordStatetbogusDoctypeState(R RKRR((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyR]sT

cC`s|jj}|tkr*|j|_n|d	krw|jjitdd6dd6|jj||j|_ny|t	kr|jjitdd6dd6t
|jd<|jj|j|j|_n|jj||j|_t
S(
Nu'u"u
ParseErrorutypeuunexpected-char-in-doctypeudataueof-in-doctypeucorrect(u'u"(RR'Rt"beforeDoctypePublicIdentifierStateRR"R(RR.R
RRRR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs"
cC`sg|jj}|tkrnE|dkrFd|jd<|j|_n|dkrnd|jd<|j|_n|dkr|jjit	dd6dd	6t
|jd
<|jj|j|j|_n|tkr(|jjit	dd6dd	6t
|jd
<|jj|j|j|_n;|jjit	dd6dd	6t
|jd
<|j
|_tS(
Nu"uupublicIdu'u>u
ParseErrorutypeuunexpected-end-of-doctypeudataucorrectueof-in-doctypeuunexpected-char-in-doctype(RR'RRt(doctypePublicIdentifierDoubleQuotedStateRt(doctypePublicIdentifierSingleQuotedStateR"R(RRRR
RR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs4




cC`s?|jj}|dkr*|j|_n|dkrn|jjitdd6dd6|jdcd7<n|d	kr|jjitdd6d
d6t|jd<|jj|j|j	|_np|t
kr(|jjitdd6dd6t|jd<|jj|j|j	|_n|jdc|7<tS(
Nu"uu
ParseErrorutypeuinvalid-codepointudataupublicIdu�u>uunexpected-end-of-doctypeucorrectueof-in-doctype(RR't!afterDoctypePublicIdentifierStateRR"R(RRRRR
R7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs*

cC`s?|jj}|dkr*|j|_n|dkrn|jjitdd6dd6|jdcd7<n|d	kr|jjitdd6d
d6t|jd<|jj|j|j	|_np|t
kr(|jjitdd6dd6t|jd<|jj|j|j	|_n|jdc|7<tS(
Nu'uu
ParseErrorutypeuinvalid-codepointudataupublicIdu�u>uunexpected-end-of-doctypeucorrectueof-in-doctype(RR'RRR"R(RRRRR
R7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs*

cC`s|jj}|tkr*|j|_nZ|dkrX|jj|j|j|_n,|dkr|jjit	dd6dd6d|jd<|j
|_n|d	kr|jjit	dd6dd6d|jd<|j|_n|tkrI|jjit	dd6d
d6t
|jd<|jj|j|j|_n;|jjit	dd6dd6t
|jd<|j|_tS(Nu>u"u
ParseErrorutypeuunexpected-char-in-doctypeudatauusystemIdu'ueof-in-doctypeucorrect(RR'Rt-betweenDoctypePublicAndSystemIdentifiersStateRR"R(RRRt(doctypeSystemIdentifierDoubleQuotedStatet(doctypeSystemIdentifierSingleQuotedStateR
RRR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs6



cC`s8|jj}|tkrn|dkrL|jj|j|j|_n|dkrtd|jd<|j|_n|dkrd|jd<|j	|_n|t
kr|jjitdd6dd	6t|jd
<|jj|j|j|_n;|jjitdd6dd	6t|jd
<|j
|_tS(Nu>u"uusystemIdu'u
ParseErrorutypeueof-in-doctypeudataucorrectuunexpected-char-in-doctype(RR'RR"R(RRRRRR
RRRR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs.



cC`s|jj}|tkr*|j|_n|d	krw|jjitdd6dd6|jj||j|_ny|t	kr|jjitdd6dd6t
|jd<|jj|j|j|_n|jj||j|_t
S(
Nu'u"u
ParseErrorutypeuunexpected-char-in-doctypeudataueof-in-doctypeucorrect(u'u"(RR'Rt"beforeDoctypeSystemIdentifierStateRR"R(RR.R
RRRR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyR)s"
cC`sg|jj}|tkrnE|dkrFd|jd<|j|_n|dkrnd|jd<|j|_n|dkr|jjit	dd6dd	6t
|jd
<|jj|j|j|_n|tkr(|jjit	dd6dd	6t
|jd
<|jj|j|j|_n;|jjit	dd6dd	6t
|jd
<|j
|_tS(Nu"uusystemIdu'u>u
ParseErrorutypeuunexpected-char-in-doctypeudataucorrectueof-in-doctype(RR'RRRRRR"R(RRRR
RR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyR=s4




cC`s?|jj}|dkr*|j|_n|dkrn|jjitdd6dd6|jdcd7<n|d	kr|jjitdd6d
d6t|jd<|jj|j|j	|_np|t
kr(|jjitdd6dd6t|jd<|jj|j|j	|_n|jdc|7<tS(
Nu"uu
ParseErrorutypeuinvalid-codepointudatausystemIdu�u>uunexpected-end-of-doctypeucorrectueof-in-doctype(RR't!afterDoctypeSystemIdentifierStateRR"R(RRRRR
R7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRZs*

cC`s?|jj}|dkr*|j|_n|dkrn|jjitdd6dd6|jdcd7<n|d	kr|jjitdd6d
d6t|jd<|jj|j|j	|_np|t
kr(|jjitdd6dd6t|jd<|jj|j|j	|_n|jdc|7<tS(
Nu'uu
ParseErrorutypeuinvalid-codepointudatausystemIdu�u>uunexpected-end-of-doctypeucorrectueof-in-doctype(RR'RRR"R(RRRRR
R7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRrs*

cC`s|jj}|tkrn|dkrL|jj|j|j|_n|tkr|jjit	dd6dd6t
|jd<|jj|j|j|_n.|jjit	dd6dd6|j|_tS(Nu>u
ParseErrorutypeueof-in-doctypeudataucorrectuunexpected-char-in-doctype(
RR'RR"R(RRRR
RRRR7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs 
cC`s|jj}|dkr=|jj|j|j|_n>|tkr{|jj||jj|j|j|_nt	S(Nu>(
RR'R"R(RRRR
R.R7(R RK((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRscC`s`g}xtr|j|jjd|j|jjd|jj}|tkr`Pq	|dksrt|dddkr|dd |d<Pq	|j|q	Wdj|}|jd}|dkr%x6t	|D](}|j
jitd	d
6dd6qW|jdd
}n|rP|j
jitdd
6|d6n|j
|_tS(Nu]u>iiu]]uuiu
ParseErrorutypeuinvalid-codepointudatau�u
Characters(R7R(RROR'R
tAssertionErrorR*tcounttrangeR"RRRR(R RKR't	nullCountR|((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs0	N(Nt__name__t
__module__t__doc__RRR&R6RRDRERLRRMRSRQRURWRXRNRZR[RRR`RaRTRdReRVRfRhRgRiRmRkRjRlRnRpRoRqRrRtRsRuR]RvRxRwR}RR~RR^R\RYRRRRRRRRRRRRRRRRRRRRRRR(((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyRs		HP										#												
	
														6	 	"							-										3												N(ii( t
__future__RRRtpip._vendor.sixRR,tcollectionsRRtsysRt	constantsRRR	R
RRR
RRRt_inputstreamRt_trieRR8tdictRGtobjectR(((sP/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/_tokenizer.pyt<module>s 	
Back to Directory File Manager