optgroup
- # element, or if there is no more content in the parent
- # element.
- if type == "StartTag":
- return next["name"] in ('option', 'optgroup')
- else:
- return type == "EndTag" or type is None
- elif tagname in ('rt', 'rp'):
- # An rt element's end tag may be omitted if the rt element is
- # immediately followed by an rt or rp element, or if there is
- # no more content in the parent element.
- # An rp element's end tag may be omitted if the rp element is
- # immediately followed by an rt or rp element, or if there is
- # no more content in the parent element.
- if type == "StartTag":
- return next["name"] in ('rt', 'rp')
- else:
- return type == "EndTag" or type is None
- elif tagname == 'colgroup':
- # A colgroup element's end tag may be omitted if the colgroup
- # element is not immediately followed by a space character or
- # a comment.
- if type in ("Comment", "SpaceCharacters"):
- return False
- elif type == "StartTag":
- # XXX: we also look for an immediately following colgroup
- # element. See is_optional_start.
- return next["name"] != 'colgroup'
- else:
- return True
- elif tagname in ('thead', 'tbody'):
- # A thead element's end tag may be omitted if the thead element
- # is immediately followed by a tbody or tfoot element.
- # A tbody element's end tag may be omitted if the tbody element
- # is immediately followed by a tbody or tfoot element, or if
- # there is no more content in the parent element.
- # A tfoot element's end tag may be omitted if the tfoot element
- # is immediately followed by a tbody element, or if there is no
- # more content in the parent element.
- # XXX: we never omit the end tag when the following element is
- # a tbody. See is_optional_start.
- if type == "StartTag":
- return next["name"] in ['tbody', 'tfoot']
- elif tagname == 'tbody':
- return type == "EndTag" or type is None
- else:
- return False
- elif tagname == 'tfoot':
- # A tfoot element's end tag may be omitted if the tfoot element
- # is immediately followed by a tbody element, or if there is no
- # more content in the parent element.
- # XXX: we never omit the end tag when the following element is
- # a tbody. See is_optional_start.
- if type == "StartTag":
- return next["name"] == 'tbody'
- else:
- return type == "EndTag" or type is None
- elif tagname in ('td', 'th'):
- # A td element's end tag may be omitted if the td element is
- # immediately followed by a td or th element, or if there is
- # no more content in the parent element.
- # A th element's end tag may be omitted if the th element is
- # immediately followed by a td or th element, or if there is
- # no more content in the parent element.
- if type == "StartTag":
- return next["name"] in ('td', 'th')
- else:
- return type == "EndTag" or type is None
- return False
diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/sanitizer.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/sanitizer.py
deleted file mode 100644
index af8e77b..0000000
--- a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/sanitizer.py
+++ /dev/null
@@ -1,896 +0,0 @@
-from __future__ import absolute_import, division, unicode_literals
-
-import re
-from xml.sax.saxutils import escape, unescape
-
-from pip._vendor.six.moves import urllib_parse as urlparse
-
-from . import base
-from ..constants import namespaces, prefixes
-
-__all__ = ["Filter"]
-
-
-allowed_elements = frozenset((
- (namespaces['html'], 'a'),
- (namespaces['html'], 'abbr'),
- (namespaces['html'], 'acronym'),
- (namespaces['html'], 'address'),
- (namespaces['html'], 'area'),
- (namespaces['html'], 'article'),
- (namespaces['html'], 'aside'),
- (namespaces['html'], 'audio'),
- (namespaces['html'], 'b'),
- (namespaces['html'], 'big'),
- (namespaces['html'], 'blockquote'),
- (namespaces['html'], 'br'),
- (namespaces['html'], 'button'),
- (namespaces['html'], 'canvas'),
- (namespaces['html'], 'caption'),
- (namespaces['html'], 'center'),
- (namespaces['html'], 'cite'),
- (namespaces['html'], 'code'),
- (namespaces['html'], 'col'),
- (namespaces['html'], 'colgroup'),
- (namespaces['html'], 'command'),
- (namespaces['html'], 'datagrid'),
- (namespaces['html'], 'datalist'),
- (namespaces['html'], 'dd'),
- (namespaces['html'], 'del'),
- (namespaces['html'], 'details'),
- (namespaces['html'], 'dfn'),
- (namespaces['html'], 'dialog'),
- (namespaces['html'], 'dir'),
- (namespaces['html'], 'div'),
- (namespaces['html'], 'dl'),
- (namespaces['html'], 'dt'),
- (namespaces['html'], 'em'),
- (namespaces['html'], 'event-source'),
- (namespaces['html'], 'fieldset'),
- (namespaces['html'], 'figcaption'),
- (namespaces['html'], 'figure'),
- (namespaces['html'], 'footer'),
- (namespaces['html'], 'font'),
- (namespaces['html'], 'form'),
- (namespaces['html'], 'header'),
- (namespaces['html'], 'h1'),
- (namespaces['html'], 'h2'),
- (namespaces['html'], 'h3'),
- (namespaces['html'], 'h4'),
- (namespaces['html'], 'h5'),
- (namespaces['html'], 'h6'),
- (namespaces['html'], 'hr'),
- (namespaces['html'], 'i'),
- (namespaces['html'], 'img'),
- (namespaces['html'], 'input'),
- (namespaces['html'], 'ins'),
- (namespaces['html'], 'keygen'),
- (namespaces['html'], 'kbd'),
- (namespaces['html'], 'label'),
- (namespaces['html'], 'legend'),
- (namespaces['html'], 'li'),
- (namespaces['html'], 'm'),
- (namespaces['html'], 'map'),
- (namespaces['html'], 'menu'),
- (namespaces['html'], 'meter'),
- (namespaces['html'], 'multicol'),
- (namespaces['html'], 'nav'),
- (namespaces['html'], 'nextid'),
- (namespaces['html'], 'ol'),
- (namespaces['html'], 'output'),
- (namespaces['html'], 'optgroup'),
- (namespaces['html'], 'option'),
- (namespaces['html'], 'p'),
- (namespaces['html'], 'pre'),
- (namespaces['html'], 'progress'),
- (namespaces['html'], 'q'),
- (namespaces['html'], 's'),
- (namespaces['html'], 'samp'),
- (namespaces['html'], 'section'),
- (namespaces['html'], 'select'),
- (namespaces['html'], 'small'),
- (namespaces['html'], 'sound'),
- (namespaces['html'], 'source'),
- (namespaces['html'], 'spacer'),
- (namespaces['html'], 'span'),
- (namespaces['html'], 'strike'),
- (namespaces['html'], 'strong'),
- (namespaces['html'], 'sub'),
- (namespaces['html'], 'sup'),
- (namespaces['html'], 'table'),
- (namespaces['html'], 'tbody'),
- (namespaces['html'], 'td'),
- (namespaces['html'], 'textarea'),
- (namespaces['html'], 'time'),
- (namespaces['html'], 'tfoot'),
- (namespaces['html'], 'th'),
- (namespaces['html'], 'thead'),
- (namespaces['html'], 'tr'),
- (namespaces['html'], 'tt'),
- (namespaces['html'], 'u'),
- (namespaces['html'], 'ul'),
- (namespaces['html'], 'var'),
- (namespaces['html'], 'video'),
- (namespaces['mathml'], 'maction'),
- (namespaces['mathml'], 'math'),
- (namespaces['mathml'], 'merror'),
- (namespaces['mathml'], 'mfrac'),
- (namespaces['mathml'], 'mi'),
- (namespaces['mathml'], 'mmultiscripts'),
- (namespaces['mathml'], 'mn'),
- (namespaces['mathml'], 'mo'),
- (namespaces['mathml'], 'mover'),
- (namespaces['mathml'], 'mpadded'),
- (namespaces['mathml'], 'mphantom'),
- (namespaces['mathml'], 'mprescripts'),
- (namespaces['mathml'], 'mroot'),
- (namespaces['mathml'], 'mrow'),
- (namespaces['mathml'], 'mspace'),
- (namespaces['mathml'], 'msqrt'),
- (namespaces['mathml'], 'mstyle'),
- (namespaces['mathml'], 'msub'),
- (namespaces['mathml'], 'msubsup'),
- (namespaces['mathml'], 'msup'),
- (namespaces['mathml'], 'mtable'),
- (namespaces['mathml'], 'mtd'),
- (namespaces['mathml'], 'mtext'),
- (namespaces['mathml'], 'mtr'),
- (namespaces['mathml'], 'munder'),
- (namespaces['mathml'], 'munderover'),
- (namespaces['mathml'], 'none'),
- (namespaces['svg'], 'a'),
- (namespaces['svg'], 'animate'),
- (namespaces['svg'], 'animateColor'),
- (namespaces['svg'], 'animateMotion'),
- (namespaces['svg'], 'animateTransform'),
- (namespaces['svg'], 'clipPath'),
- (namespaces['svg'], 'circle'),
- (namespaces['svg'], 'defs'),
- (namespaces['svg'], 'desc'),
- (namespaces['svg'], 'ellipse'),
- (namespaces['svg'], 'font-face'),
- (namespaces['svg'], 'font-face-name'),
- (namespaces['svg'], 'font-face-src'),
- (namespaces['svg'], 'g'),
- (namespaces['svg'], 'glyph'),
- (namespaces['svg'], 'hkern'),
- (namespaces['svg'], 'linearGradient'),
- (namespaces['svg'], 'line'),
- (namespaces['svg'], 'marker'),
- (namespaces['svg'], 'metadata'),
- (namespaces['svg'], 'missing-glyph'),
- (namespaces['svg'], 'mpath'),
- (namespaces['svg'], 'path'),
- (namespaces['svg'], 'polygon'),
- (namespaces['svg'], 'polyline'),
- (namespaces['svg'], 'radialGradient'),
- (namespaces['svg'], 'rect'),
- (namespaces['svg'], 'set'),
- (namespaces['svg'], 'stop'),
- (namespaces['svg'], 'svg'),
- (namespaces['svg'], 'switch'),
- (namespaces['svg'], 'text'),
- (namespaces['svg'], 'title'),
- (namespaces['svg'], 'tspan'),
- (namespaces['svg'], 'use'),
-))
-
-allowed_attributes = frozenset((
- # HTML attributes
- (None, 'abbr'),
- (None, 'accept'),
- (None, 'accept-charset'),
- (None, 'accesskey'),
- (None, 'action'),
- (None, 'align'),
- (None, 'alt'),
- (None, 'autocomplete'),
- (None, 'autofocus'),
- (None, 'axis'),
- (None, 'background'),
- (None, 'balance'),
- (None, 'bgcolor'),
- (None, 'bgproperties'),
- (None, 'border'),
- (None, 'bordercolor'),
- (None, 'bordercolordark'),
- (None, 'bordercolorlight'),
- (None, 'bottompadding'),
- (None, 'cellpadding'),
- (None, 'cellspacing'),
- (None, 'ch'),
- (None, 'challenge'),
- (None, 'char'),
- (None, 'charoff'),
- (None, 'choff'),
- (None, 'charset'),
- (None, 'checked'),
- (None, 'cite'),
- (None, 'class'),
- (None, 'clear'),
- (None, 'color'),
- (None, 'cols'),
- (None, 'colspan'),
- (None, 'compact'),
- (None, 'contenteditable'),
- (None, 'controls'),
- (None, 'coords'),
- (None, 'data'),
- (None, 'datafld'),
- (None, 'datapagesize'),
- (None, 'datasrc'),
- (None, 'datetime'),
- (None, 'default'),
- (None, 'delay'),
- (None, 'dir'),
- (None, 'disabled'),
- (None, 'draggable'),
- (None, 'dynsrc'),
- (None, 'enctype'),
- (None, 'end'),
- (None, 'face'),
- (None, 'for'),
- (None, 'form'),
- (None, 'frame'),
- (None, 'galleryimg'),
- (None, 'gutter'),
- (None, 'headers'),
- (None, 'height'),
- (None, 'hidefocus'),
- (None, 'hidden'),
- (None, 'high'),
- (None, 'href'),
- (None, 'hreflang'),
- (None, 'hspace'),
- (None, 'icon'),
- (None, 'id'),
- (None, 'inputmode'),
- (None, 'ismap'),
- (None, 'keytype'),
- (None, 'label'),
- (None, 'leftspacing'),
- (None, 'lang'),
- (None, 'list'),
- (None, 'longdesc'),
- (None, 'loop'),
- (None, 'loopcount'),
- (None, 'loopend'),
- (None, 'loopstart'),
- (None, 'low'),
- (None, 'lowsrc'),
- (None, 'max'),
- (None, 'maxlength'),
- (None, 'media'),
- (None, 'method'),
- (None, 'min'),
- (None, 'multiple'),
- (None, 'name'),
- (None, 'nohref'),
- (None, 'noshade'),
- (None, 'nowrap'),
- (None, 'open'),
- (None, 'optimum'),
- (None, 'pattern'),
- (None, 'ping'),
- (None, 'point-size'),
- (None, 'poster'),
- (None, 'pqg'),
- (None, 'preload'),
- (None, 'prompt'),
- (None, 'radiogroup'),
- (None, 'readonly'),
- (None, 'rel'),
- (None, 'repeat-max'),
- (None, 'repeat-min'),
- (None, 'replace'),
- (None, 'required'),
- (None, 'rev'),
- (None, 'rightspacing'),
- (None, 'rows'),
- (None, 'rowspan'),
- (None, 'rules'),
- (None, 'scope'),
- (None, 'selected'),
- (None, 'shape'),
- (None, 'size'),
- (None, 'span'),
- (None, 'src'),
- (None, 'start'),
- (None, 'step'),
- (None, 'style'),
- (None, 'summary'),
- (None, 'suppress'),
- (None, 'tabindex'),
- (None, 'target'),
- (None, 'template'),
- (None, 'title'),
- (None, 'toppadding'),
- (None, 'type'),
- (None, 'unselectable'),
- (None, 'usemap'),
- (None, 'urn'),
- (None, 'valign'),
- (None, 'value'),
- (None, 'variable'),
- (None, 'volume'),
- (None, 'vspace'),
- (None, 'vrml'),
- (None, 'width'),
- (None, 'wrap'),
- (namespaces['xml'], 'lang'),
- # MathML attributes
- (None, 'actiontype'),
- (None, 'align'),
- (None, 'columnalign'),
- (None, 'columnalign'),
- (None, 'columnalign'),
- (None, 'columnlines'),
- (None, 'columnspacing'),
- (None, 'columnspan'),
- (None, 'depth'),
- (None, 'display'),
- (None, 'displaystyle'),
- (None, 'equalcolumns'),
- (None, 'equalrows'),
- (None, 'fence'),
- (None, 'fontstyle'),
- (None, 'fontweight'),
- (None, 'frame'),
- (None, 'height'),
- (None, 'linethickness'),
- (None, 'lspace'),
- (None, 'mathbackground'),
- (None, 'mathcolor'),
- (None, 'mathvariant'),
- (None, 'mathvariant'),
- (None, 'maxsize'),
- (None, 'minsize'),
- (None, 'other'),
- (None, 'rowalign'),
- (None, 'rowalign'),
- (None, 'rowalign'),
- (None, 'rowlines'),
- (None, 'rowspacing'),
- (None, 'rowspan'),
- (None, 'rspace'),
- (None, 'scriptlevel'),
- (None, 'selection'),
- (None, 'separator'),
- (None, 'stretchy'),
- (None, 'width'),
- (None, 'width'),
- (namespaces['xlink'], 'href'),
- (namespaces['xlink'], 'show'),
- (namespaces['xlink'], 'type'),
- # SVG attributes
- (None, 'accent-height'),
- (None, 'accumulate'),
- (None, 'additive'),
- (None, 'alphabetic'),
- (None, 'arabic-form'),
- (None, 'ascent'),
- (None, 'attributeName'),
- (None, 'attributeType'),
- (None, 'baseProfile'),
- (None, 'bbox'),
- (None, 'begin'),
- (None, 'by'),
- (None, 'calcMode'),
- (None, 'cap-height'),
- (None, 'class'),
- (None, 'clip-path'),
- (None, 'color'),
- (None, 'color-rendering'),
- (None, 'content'),
- (None, 'cx'),
- (None, 'cy'),
- (None, 'd'),
- (None, 'dx'),
- (None, 'dy'),
- (None, 'descent'),
- (None, 'display'),
- (None, 'dur'),
- (None, 'end'),
- (None, 'fill'),
- (None, 'fill-opacity'),
- (None, 'fill-rule'),
- (None, 'font-family'),
- (None, 'font-size'),
- (None, 'font-stretch'),
- (None, 'font-style'),
- (None, 'font-variant'),
- (None, 'font-weight'),
- (None, 'from'),
- (None, 'fx'),
- (None, 'fy'),
- (None, 'g1'),
- (None, 'g2'),
- (None, 'glyph-name'),
- (None, 'gradientUnits'),
- (None, 'hanging'),
- (None, 'height'),
- (None, 'horiz-adv-x'),
- (None, 'horiz-origin-x'),
- (None, 'id'),
- (None, 'ideographic'),
- (None, 'k'),
- (None, 'keyPoints'),
- (None, 'keySplines'),
- (None, 'keyTimes'),
- (None, 'lang'),
- (None, 'marker-end'),
- (None, 'marker-mid'),
- (None, 'marker-start'),
- (None, 'markerHeight'),
- (None, 'markerUnits'),
- (None, 'markerWidth'),
- (None, 'mathematical'),
- (None, 'max'),
- (None, 'min'),
- (None, 'name'),
- (None, 'offset'),
- (None, 'opacity'),
- (None, 'orient'),
- (None, 'origin'),
- (None, 'overline-position'),
- (None, 'overline-thickness'),
- (None, 'panose-1'),
- (None, 'path'),
- (None, 'pathLength'),
- (None, 'points'),
- (None, 'preserveAspectRatio'),
- (None, 'r'),
- (None, 'refX'),
- (None, 'refY'),
- (None, 'repeatCount'),
- (None, 'repeatDur'),
- (None, 'requiredExtensions'),
- (None, 'requiredFeatures'),
- (None, 'restart'),
- (None, 'rotate'),
- (None, 'rx'),
- (None, 'ry'),
- (None, 'slope'),
- (None, 'stemh'),
- (None, 'stemv'),
- (None, 'stop-color'),
- (None, 'stop-opacity'),
- (None, 'strikethrough-position'),
- (None, 'strikethrough-thickness'),
- (None, 'stroke'),
- (None, 'stroke-dasharray'),
- (None, 'stroke-dashoffset'),
- (None, 'stroke-linecap'),
- (None, 'stroke-linejoin'),
- (None, 'stroke-miterlimit'),
- (None, 'stroke-opacity'),
- (None, 'stroke-width'),
- (None, 'systemLanguage'),
- (None, 'target'),
- (None, 'text-anchor'),
- (None, 'to'),
- (None, 'transform'),
- (None, 'type'),
- (None, 'u1'),
- (None, 'u2'),
- (None, 'underline-position'),
- (None, 'underline-thickness'),
- (None, 'unicode'),
- (None, 'unicode-range'),
- (None, 'units-per-em'),
- (None, 'values'),
- (None, 'version'),
- (None, 'viewBox'),
- (None, 'visibility'),
- (None, 'width'),
- (None, 'widths'),
- (None, 'x'),
- (None, 'x-height'),
- (None, 'x1'),
- (None, 'x2'),
- (namespaces['xlink'], 'actuate'),
- (namespaces['xlink'], 'arcrole'),
- (namespaces['xlink'], 'href'),
- (namespaces['xlink'], 'role'),
- (namespaces['xlink'], 'show'),
- (namespaces['xlink'], 'title'),
- (namespaces['xlink'], 'type'),
- (namespaces['xml'], 'base'),
- (namespaces['xml'], 'lang'),
- (namespaces['xml'], 'space'),
- (None, 'y'),
- (None, 'y1'),
- (None, 'y2'),
- (None, 'zoomAndPan'),
-))
-
-attr_val_is_uri = frozenset((
- (None, 'href'),
- (None, 'src'),
- (None, 'cite'),
- (None, 'action'),
- (None, 'longdesc'),
- (None, 'poster'),
- (None, 'background'),
- (None, 'datasrc'),
- (None, 'dynsrc'),
- (None, 'lowsrc'),
- (None, 'ping'),
- (namespaces['xlink'], 'href'),
- (namespaces['xml'], 'base'),
-))
-
-svg_attr_val_allows_ref = frozenset((
- (None, 'clip-path'),
- (None, 'color-profile'),
- (None, 'cursor'),
- (None, 'fill'),
- (None, 'filter'),
- (None, 'marker'),
- (None, 'marker-start'),
- (None, 'marker-mid'),
- (None, 'marker-end'),
- (None, 'mask'),
- (None, 'stroke'),
-))
-
-svg_allow_local_href = frozenset((
- (None, 'altGlyph'),
- (None, 'animate'),
- (None, 'animateColor'),
- (None, 'animateMotion'),
- (None, 'animateTransform'),
- (None, 'cursor'),
- (None, 'feImage'),
- (None, 'filter'),
- (None, 'linearGradient'),
- (None, 'pattern'),
- (None, 'radialGradient'),
- (None, 'textpath'),
- (None, 'tref'),
- (None, 'set'),
- (None, 'use')
-))
-
-allowed_css_properties = frozenset((
- 'azimuth',
- 'background-color',
- 'border-bottom-color',
- 'border-collapse',
- 'border-color',
- 'border-left-color',
- 'border-right-color',
- 'border-top-color',
- 'clear',
- 'color',
- 'cursor',
- 'direction',
- 'display',
- 'elevation',
- 'float',
- 'font',
- 'font-family',
- 'font-size',
- 'font-style',
- 'font-variant',
- 'font-weight',
- 'height',
- 'letter-spacing',
- 'line-height',
- 'overflow',
- 'pause',
- 'pause-after',
- 'pause-before',
- 'pitch',
- 'pitch-range',
- 'richness',
- 'speak',
- 'speak-header',
- 'speak-numeral',
- 'speak-punctuation',
- 'speech-rate',
- 'stress',
- 'text-align',
- 'text-decoration',
- 'text-indent',
- 'unicode-bidi',
- 'vertical-align',
- 'voice-family',
- 'volume',
- 'white-space',
- 'width',
-))
-
-allowed_css_keywords = frozenset((
- 'auto',
- 'aqua',
- 'black',
- 'block',
- 'blue',
- 'bold',
- 'both',
- 'bottom',
- 'brown',
- 'center',
- 'collapse',
- 'dashed',
- 'dotted',
- 'fuchsia',
- 'gray',
- 'green',
- '!important',
- 'italic',
- 'left',
- 'lime',
- 'maroon',
- 'medium',
- 'none',
- 'navy',
- 'normal',
- 'nowrap',
- 'olive',
- 'pointer',
- 'purple',
- 'red',
- 'right',
- 'solid',
- 'silver',
- 'teal',
- 'top',
- 'transparent',
- 'underline',
- 'white',
- 'yellow',
-))
-
-allowed_svg_properties = frozenset((
- 'fill',
- 'fill-opacity',
- 'fill-rule',
- 'stroke',
- 'stroke-width',
- 'stroke-linecap',
- 'stroke-linejoin',
- 'stroke-opacity',
-))
-
-allowed_protocols = frozenset((
- 'ed2k',
- 'ftp',
- 'http',
- 'https',
- 'irc',
- 'mailto',
- 'news',
- 'gopher',
- 'nntp',
- 'telnet',
- 'webcal',
- 'xmpp',
- 'callto',
- 'feed',
- 'urn',
- 'aim',
- 'rsync',
- 'tag',
- 'ssh',
- 'sftp',
- 'rtsp',
- 'afs',
- 'data',
-))
-
-allowed_content_types = frozenset((
- 'image/png',
- 'image/jpeg',
- 'image/gif',
- 'image/webp',
- 'image/bmp',
- 'text/plain',
-))
-
-
-data_content_type = re.compile(r'''
- ^
- # Match a content type This is a doc
') -This is a doc
') -,, and