From catalog/rfc9110-http.abnf rule: relative-part

Definition

relative-part = {File: rfc3986-uri.abnf Rule: relative-part}

{File: rfc3986-uri.abnf Rule: relative-part} = "//" {File: rfc3986-uri.abnf Rule: authority} {File: rfc3986-uri.abnf Rule: path-abempty} / {File: rfc3986-uri.abnf Rule: path-absolute} / {File: rfc3986-uri.abnf Rule: path-noscheme} / {File: rfc3986-uri.abnf Rule: path-empty}

{File: rfc3986-uri.abnf Rule: path-noscheme} = {File: rfc3986-uri.abnf Rule: segment-nz-nc} *( "/" {File: rfc3986-uri.abnf Rule: segment} )

{File: rfc3986-uri.abnf Rule: segment-nz-nc} = 1*( {File: rfc3986-uri.abnf Rule: unreserved} / {File: rfc3986-uri.abnf Rule: pct-encoded} / {File: rfc3986-uri.abnf Rule: sub-delims} / "@" )

{File: rfc3986-uri.abnf Rule: path-empty} = ""

{File: rfc3986-uri.abnf Rule: path-absolute} = "/" [ {File: rfc3986-uri.abnf Rule: segment-nz} *( "/" {File: rfc3986-uri.abnf Rule: segment} ) ]

{File: rfc3986-uri.abnf Rule: segment-nz} = 1*{File: rfc3986-uri.abnf Rule: pchar}

{File: rfc3986-uri.abnf Rule: path-abempty} = *( "/" {File: rfc3986-uri.abnf Rule: segment} )

{File: rfc3986-uri.abnf Rule: segment} = *{File: rfc3986-uri.abnf Rule: pchar}

{File: rfc3986-uri.abnf Rule: pchar} = {File: rfc3986-uri.abnf Rule: unreserved} / {File: rfc3986-uri.abnf Rule: pct-encoded} / {File: rfc3986-uri.abnf Rule: sub-delims} / ":" / "@"

{File: rfc3986-uri.abnf Rule: authority} = [ {File: rfc3986-uri.abnf Rule: userinfo} "@" ] {File: rfc3986-uri.abnf Rule: host} [ ":" {File: rfc3986-uri.abnf Rule: port} ]

{File: rfc3986-uri.abnf Rule: userinfo} = *( {File: rfc3986-uri.abnf Rule: unreserved} / {File: rfc3986-uri.abnf Rule: pct-encoded} / {File: rfc3986-uri.abnf Rule: sub-delims} / ":" )

{File: rfc3986-uri.abnf Rule: port} = *DIGIT

{File: rfc3986-uri.abnf Rule: host} = {File: rfc3986-uri.abnf Rule: IP-literal} / {File: rfc3986-uri.abnf Rule: IPv4address} / {File: rfc3986-uri.abnf Rule: reg-name}

{File: rfc3986-uri.abnf Rule: reg-name} = *( {File: rfc3986-uri.abnf Rule: unreserved} / {File: rfc3986-uri.abnf Rule: pct-encoded} / {File: rfc3986-uri.abnf Rule: sub-delims} )

{File: rfc3986-uri.abnf Rule: pct-encoded} = "%" HEXDIG HEXDIG

{File: rfc3986-uri.abnf Rule: IP-literal} = "[" ( {File: rfc3986-uri.abnf Rule: IPv6address} / {File: rfc3986-uri.abnf Rule: IPvFuture} ) "]"

{File: rfc3986-uri.abnf Rule: IPvFuture} = "v" 1*HEXDIG "." 1*( {File: rfc3986-uri.abnf Rule: unreserved} / {File: rfc3986-uri.abnf Rule: sub-delims} / ":" )

{File: rfc3986-uri.abnf Rule: unreserved} = ALPHA / DIGIT / "-" / "." / "_" / "~"

{File: rfc3986-uri.abnf Rule: sub-delims} = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="

{File: rfc3986-uri.abnf Rule: IPv6address} = 6( {File: rfc3986-uri.abnf Rule: h16} ":" ) {File: rfc3986-uri.abnf Rule: ls32} / "::" 5( {File: rfc3986-uri.abnf Rule: h16} ":" ) {File: rfc3986-uri.abnf Rule: ls32} / [ {File: rfc3986-uri.abnf Rule: h16} ] "::" 4( {File: rfc3986-uri.abnf Rule: h16} ":" ) {File: rfc3986-uri.abnf Rule: ls32} / [ *1( {File: rfc3986-uri.abnf Rule: h16} ":" ) {File: rfc3986-uri.abnf Rule: h16} ] "::" 3( {File: rfc3986-uri.abnf Rule: h16} ":" ) {File: rfc3986-uri.abnf Rule: ls32} / [ *2( {File: rfc3986-uri.abnf Rule: h16} ":" ) {File: rfc3986-uri.abnf Rule: h16} ] "::" 2( {File: rfc3986-uri.abnf Rule: h16} ":" ) {File: rfc3986-uri.abnf Rule: ls32} / [ *3( {File: rfc3986-uri.abnf Rule: h16} ":" ) {File: rfc3986-uri.abnf Rule: h16} ] "::" {File: rfc3986-uri.abnf Rule: h16} ":" {File: rfc3986-uri.abnf Rule: ls32} / [ *4( {File: rfc3986-uri.abnf Rule: h16} ":" ) {File: rfc3986-uri.abnf Rule: h16} ] "::" {File: rfc3986-uri.abnf Rule: ls32} / [ *5( {File: rfc3986-uri.abnf Rule: h16} ":" ) {File: rfc3986-uri.abnf Rule: h16} ] "::" {File: rfc3986-uri.abnf Rule: h16} / [ *6( {File: rfc3986-uri.abnf Rule: h16} ":" ) {File: rfc3986-uri.abnf Rule: h16} ] "::"

{File: rfc3986-uri.abnf Rule: ls32} = ( {File: rfc3986-uri.abnf Rule: h16} ":" {File: rfc3986-uri.abnf Rule: h16} ) / {File: rfc3986-uri.abnf Rule: IPv4address}

{File: rfc3986-uri.abnf Rule: IPv4address} = {File: rfc3986-uri.abnf Rule: dec-octet} "." {File: rfc3986-uri.abnf Rule: dec-octet} "." {File: rfc3986-uri.abnf Rule: dec-octet} "." {File: rfc3986-uri.abnf Rule: dec-octet}

{File: rfc3986-uri.abnf Rule: dec-octet} = DIGIT / %x31-39 DIGIT / "1" 2DIGIT / "2" %x30-34 DIGIT / "25" %x30-35

{File: rfc3986-uri.abnf Rule: h16} = 1*4HEXDIG

    

Info

Rulename
relative-part
Dependencies
HEXDIG, {File: rfc3986-uri.abnf Rule: h16}, DIGIT, {File: rfc3986-uri.abnf Rule: dec-octet}, {File: rfc3986-uri.abnf Rule: IPv4address}, {File: rfc3986-uri.abnf Rule: ls32}, {File: rfc3986-uri.abnf Rule: IPv6address}, {File: rfc3986-uri.abnf Rule: sub-delims}, ALPHA, {File: rfc3986-uri.abnf Rule: unreserved}, {File: rfc3986-uri.abnf Rule: IPvFuture}, {File: rfc3986-uri.abnf Rule: IP-literal}, {File: rfc3986-uri.abnf Rule: pct-encoded}, {File: rfc3986-uri.abnf Rule: reg-name}, {File: rfc3986-uri.abnf Rule: host}, {File: rfc3986-uri.abnf Rule: port}, {File: rfc3986-uri.abnf Rule: userinfo}, {File: rfc3986-uri.abnf Rule: authority}, {File: rfc3986-uri.abnf Rule: pchar}, {File: rfc3986-uri.abnf Rule: segment}, {File: rfc3986-uri.abnf Rule: path-abempty}, {File: rfc3986-uri.abnf Rule: segment-nz}, {File: rfc3986-uri.abnf Rule: path-absolute}, {File: rfc3986-uri.abnf Rule: path-empty}, {File: rfc3986-uri.abnf Rule: segment-nz-nc}, {File: rfc3986-uri.abnf Rule: path-noscheme}, {File: rfc3986-uri.abnf Rule: relative-part}, relative-part
Used Builtins
ALPHA, DIGIT, HEXDIG

Alphabet

Translations

Railroad Diagram

relative-part {File: rfc3986-uri.abnf Rule: relative-part}

ECMAScript/JavaScript Regular Expression Literal

/^(|([!$&-.0-9;=@-Z_a-z~]|%[0-9A-Fa-f]{2})+(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?|/(([!$&-.0-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?|/{2}([2-9]|1[0-9]?:|(0|1[0-9]{2})0[!$&-\-0-;=A-Z_a-z~]|(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|1[0-9]?([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|(0|1[0-9]{2})(:|([!$&-.1-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|0(\.|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:))(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|[0-1](\.|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*([2-9]|[0-1][!$&-\-0-;=A-Z_a-z~]))*(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|\[[Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|\[[Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(\[(([0-9A-Fa-f]:){6}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)))|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))))[0-9A-Fa-f]?:|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)))|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)))))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[(([0-9A-Fa-f]:){6}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)))|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))))[0-9A-Fa-f]?:|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)))|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))))))((:[0-9A-Fa-f]?\]|[A-Fa-f]:(:\]|[0-9A-Fa-f]\])|[A-Fa-f][0-9A-Fa-f]:(:\]|[0-9A-Fa-f]\])|(:[0-9A-Fa-f]{2}|[A-Fa-f]:[0-9A-Fa-f]{2}|[A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f]{2})\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|((:[0-9A-Fa-f]{2}|[A-Fa-f]:[0-9A-Fa-f]{2}|[A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[A-Fa-f][0-9A-Fa-f]{2,3}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|0\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[3-9](([A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[A-Fa-f]?:[0-9A-Fa-f]{2}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|([A-Fa-f]?:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9](:(:\]|[0-9A-Fa-f]\])|:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|(:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[0-9]?\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|1(([A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[A-Fa-f]?:[0-9A-Fa-f]{2}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|([A-Fa-f]?:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|1[0-9]((:(:\]|[0-9A-Fa-f]\])|:[0-9A-Fa-f]{2}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[0-9]?\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|2(([A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[A-Fa-f]?:[0-9A-Fa-f]{2}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|([A-Fa-f]?:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]\])|:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|(:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[6-9]?\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|5((:(:\]|[0-9A-Fa-f]\])|:[0-9A-Fa-f]{2}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|(:[0-9A-Fa-f]{3}|[6-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[0-5]?\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|[0-4]((:(:\]|[0-9A-Fa-f]\])|:[0-9A-Fa-f]{2}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[0-9]?\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))))(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|1[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2,3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){1,2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){5}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]){2})|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]){2}))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){1,2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]){2})|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){5}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|1((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){1,2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]){2})|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){5}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|1((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){1,2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]){2})|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))2|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))2)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})2([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){1,2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){1,2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]){2})|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){1,2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]){2})|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}))2|((\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))2)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})2(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))))2|((\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))2|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|((\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))2)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})2(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)))|((\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}))2|((\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))2)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})2(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-