From dd5048c7020f23a6c9593ebcb59ce49b5d1236df Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sat, 1 May 2021 00:48:04 +0100 Subject: [PATCH 1/9] define early data header name in websocket protobuf --- transport/internet/websocket/config.proto | 2 ++ 1 file changed, 2 insertions(+) diff --git a/transport/internet/websocket/config.proto b/transport/internet/websocket/config.proto index 3eb49c584..1966e61b6 100644 --- a/transport/internet/websocket/config.proto +++ b/transport/internet/websocket/config.proto @@ -24,4 +24,6 @@ message Config { int32 max_early_data = 5; bool use_browser_forwarding = 6; + + string early_data_header_name = 7; } From b446001de84cfc0a1b72687f369ca156eb8f7b74 Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sat, 1 May 2021 00:49:25 +0100 Subject: [PATCH 2/9] update generated protobuf for websocket --- transport/internet/websocket/config.pb.go | 37 +++++++++++++++-------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/transport/internet/websocket/config.pb.go b/transport/internet/websocket/config.pb.go index 7efb7ae3e..c87babcbf 100644 --- a/transport/internet/websocket/config.pb.go +++ b/transport/internet/websocket/config.pb.go @@ -86,6 +86,7 @@ type Config struct { AcceptProxyProtocol bool `protobuf:"varint,4,opt,name=accept_proxy_protocol,json=acceptProxyProtocol,proto3" json:"accept_proxy_protocol,omitempty"` MaxEarlyData int32 `protobuf:"varint,5,opt,name=max_early_data,json=maxEarlyData,proto3" json:"max_early_data,omitempty"` UseBrowserForwarding bool `protobuf:"varint,6,opt,name=use_browser_forwarding,json=useBrowserForwarding,proto3" json:"use_browser_forwarding,omitempty"` + EarlyDataHeaderName string `protobuf:"bytes,7,opt,name=early_data_header_name,json=earlyDataHeaderName,proto3" json:"early_data_header_name,omitempty"` } func (x *Config) Reset() { @@ -155,6 +156,13 @@ func (x *Config) GetUseBrowserForwarding() bool { return false } +func (x *Config) GetEarlyDataHeaderName() string { + if x != nil { + return x.EarlyDataHeaderName + } + return "" +} + var File_transport_internet_websocket_config_proto protoreflect.FileDescriptor var file_transport_internet_websocket_config_proto_rawDesc = []byte{ @@ -166,7 +174,7 @@ var file_transport_internet_websocket_config_proto_rawDesc = []byte{ 0x63, 0x6b, 0x65, 0x74, 0x22, 0x30, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb0, 0x02, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x47, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, @@ -181,18 +189,21 @@ var file_transport_internet_websocket_config_proto_rawDesc = []byte{ 0x61, 0x72, 0x6c, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x16, 0x75, 0x73, 0x65, 0x5f, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x75, 0x73, 0x65, 0x42, 0x72, 0x6f, - 0x77, 0x73, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x4a, 0x04, - 0x08, 0x01, 0x10, 0x02, 0x42, 0x96, 0x01, 0x0a, 0x2b, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, - 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, - 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, - 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x34, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, - 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, - 0x6b, 0x65, 0x74, 0xaa, 0x02, 0x27, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, - 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x65, 0x74, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x77, 0x73, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x33, + 0x0a, 0x16, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, + 0x65, 0x61, 0x72, 0x6c, 0x79, 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x42, 0x96, 0x01, 0x0a, 0x2b, 0x63, 0x6f, + 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, + 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x34, 0x2f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x77, + 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0xaa, 0x02, 0x27, 0x56, 0x32, 0x52, 0x61, 0x79, + 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From 54d0c3d4004a5c6e0f2e508f99c4b9bdadbeb0b9 Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sat, 1 May 2021 01:14:16 +0100 Subject: [PATCH 3/9] added client support for header based websocket early data --- transport/internet/websocket/dialer.go | 32 +++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/transport/internet/websocket/dialer.go b/transport/internet/websocket/dialer.go index b1c0a6d58..bc603565e 100644 --- a/transport/internet/websocket/dialer.go +++ b/transport/internet/websocket/dialer.go @@ -7,11 +7,13 @@ import ( "context" "encoding/base64" "io" + "net/http" "time" "github.com/v2fly/v2ray-core/v4/features/extension" "github.com/gorilla/websocket" + core "github.com/v2fly/v2ray-core/v4" "github.com/v2fly/v2ray-core/v4/common" @@ -91,7 +93,7 @@ func dialWebsocket(ctx context.Context, dest net.Destination, streamSettings *in }), nil } - conn, resp, err := dialer.Dial(uri, wsSettings.GetRequestHeader()) + conn, resp, err := dialer.Dial(uri, wsSettings.GetRequestHeader()) // nolint: bodyclose if err != nil { var reason string if resp != nil { @@ -124,7 +126,20 @@ func (d dialerWithEarlyData) Dial(earlyData []byte) (*websocket.Conn, error) { return nil, newError("websocket delayed dialer cannot encode early data tail").Base(errc) } - conn, resp, err := d.dialer.Dial(d.uriBase+earlyDataBuf.String(), d.config.GetRequestHeader()) + dialFunction := func() (*websocket.Conn, *http.Response, error) { + return d.dialer.Dial(d.uriBase+earlyDataBuf.String(), d.config.GetRequestHeader()) + } + + if d.config.EarlyDataHeaderName != "" { + dialFunction = func() (*websocket.Conn, *http.Response, error) { + earlyDataStr := earlyDataBuf.String() + currentHeader := d.config.GetRequestHeader() + currentHeader.Set(d.config.EarlyDataHeaderName, earlyDataStr) + return d.dialer.Dial(d.uriBase, currentHeader) + } + } + + conn, resp, err := dialFunction() // nolint: bodyclose if err != nil { var reason string if resp != nil { @@ -161,7 +176,18 @@ func (d dialerWithEarlyDataRelayed) Dial(earlyData []byte) (io.ReadWriteCloser, return nil, newError("websocket delayed dialer cannot encode early data tail").Base(errc) } - conn, err := d.forwarder.DialWebsocket(d.uriBase+earlyDataBuf.String(), d.config.GetRequestHeader()) + dialFunction := func() (io.ReadWriteCloser, error) { + return d.forwarder.DialWebsocket(d.uriBase+earlyDataBuf.String(), d.config.GetRequestHeader()) + } + + if d.config.EarlyDataHeaderName != "" { + earlyDataStr := earlyDataBuf.String() + currentHeader := d.config.GetRequestHeader() + currentHeader.Set(d.config.EarlyDataHeaderName, earlyDataStr) + return d.forwarder.DialWebsocket(d.uriBase, currentHeader) + } + + conn, err := dialFunction() if err != nil { var reason string return nil, newError("failed to dial to (", d.uriBase, ") with early data: ", reason).Base(err) From 75231604c7ff24a3cc475ccde740bba4dfc79535 Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sat, 1 May 2021 01:31:41 +0100 Subject: [PATCH 4/9] add support for header based early data on server side --- transport/internet/websocket/hub.go | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/transport/internet/websocket/hub.go b/transport/internet/websocket/hub.go index 167938a73..69eb29ae8 100644 --- a/transport/internet/websocket/hub.go +++ b/transport/internet/websocket/hub.go @@ -24,9 +24,10 @@ import ( ) type requestHandler struct { - path string - ln *Listener - earlyDataEnabled bool + path string + ln *Listener + earlyDataEnabled bool + earlyDataHeaderName string } var upgrader = &websocket.Upgrader{ @@ -45,6 +46,13 @@ func (h *requestHandler) ServeHTTP(writer http.ResponseWriter, request *http.Req writer.WriteHeader(http.StatusNotFound) return } + } else if h.earlyDataHeaderName != "" { + if request.URL.Path != h.path { + writer.WriteHeader(http.StatusNotFound) + return + } + earlyDataStr := request.Header.Get(h.earlyDataHeaderName) + earlyData = base64.NewDecoder(base64.RawURLEncoding, bytes.NewReader([]byte(earlyDataStr))) } else { if strings.HasPrefix(request.URL.RequestURI(), h.path) { earlyDataStr := request.URL.RequestURI()[len(h.path):] @@ -135,18 +143,21 @@ func ListenWS(ctx context.Context, address net.Address, port net.Port, streamSet l.listener = listener var useEarlyData = false + var earlyDataHeaderName = "" if wsSettings.MaxEarlyData != 0 { useEarlyData = true + earlyDataHeaderName = wsSettings.EarlyDataHeaderName } l.server = http.Server{ Handler: &requestHandler{ - path: wsSettings.GetNormalizedPath(), - ln: l, - earlyDataEnabled: useEarlyData, + path: wsSettings.GetNormalizedPath(), + ln: l, + earlyDataEnabled: useEarlyData, + earlyDataHeaderName: earlyDataHeaderName, }, ReadHeaderTimeout: time.Second * 4, - MaxHeaderBytes: 2048, + MaxHeaderBytes: http.DefaultMaxHeaderBytes, } go func() { From d378b8c42e8e6e4c1179f47f25add830eb56a74d Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sat, 1 May 2021 01:32:35 +0100 Subject: [PATCH 5/9] add support for header based early data on server side --- transport/internet/websocket/hub.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/transport/internet/websocket/hub.go b/transport/internet/websocket/hub.go index 69eb29ae8..2472ab539 100644 --- a/transport/internet/websocket/hub.go +++ b/transport/internet/websocket/hub.go @@ -41,7 +41,7 @@ var upgrader = &websocket.Upgrader{ func (h *requestHandler) ServeHTTP(writer http.ResponseWriter, request *http.Request) { var earlyData io.Reader - if !h.earlyDataEnabled { + if !h.earlyDataEnabled { // nolint: gocritic if request.URL.Path != h.path { writer.WriteHeader(http.StatusNotFound) return From 40a7847d7fa05f552509c901476ea9c7dcbdf115 Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sat, 1 May 2021 15:49:42 +0100 Subject: [PATCH 6/9] update json configure for websocket header --- infra/conf/transport_internet.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/infra/conf/transport_internet.go b/infra/conf/transport_internet.go index 1a4157435..756264e0d 100644 --- a/infra/conf/transport_internet.go +++ b/infra/conf/transport_internet.go @@ -142,6 +142,7 @@ type WebSocketConfig struct { AcceptProxyProtocol bool `json:"acceptProxyProtocol"` MaxEarlyData int32 `json:"maxEarlyData"` UseBrowserForwarding bool `json:"useBrowserForwarding"` + EarlyDataHeaderName string `json:"earlyDataHeaderName"` } // Build implements Buildable. @@ -162,6 +163,7 @@ func (c *WebSocketConfig) Build() (proto.Message, error) { Header: header, MaxEarlyData: c.MaxEarlyData, UseBrowserForwarding: c.UseBrowserForwarding, + EarlyDataHeaderName: c.EarlyDataHeaderName, } if c.AcceptProxyProtocol { config.AcceptProxyProtocol = c.AcceptProxyProtocol From af4eb8852a797a79315b4afc9386db6027c9afcf Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sat, 1 May 2021 15:50:20 +0100 Subject: [PATCH 7/9] update browser forwarder support --- app/browserforwarder/forwarder.go | 19 ++- go.mod | 2 +- go.sum | 211 ++++++++++++++++++++++++++++++ 3 files changed, 230 insertions(+), 2 deletions(-) diff --git a/app/browserforwarder/forwarder.go b/app/browserforwarder/forwarder.go index 12e03fbb4..6c947a35a 100644 --- a/app/browserforwarder/forwarder.go +++ b/app/browserforwarder/forwarder.go @@ -44,7 +44,24 @@ func (f *Forwarder) ServeHTTP(writer http.ResponseWriter, request *http.Request) } func (f *Forwarder) DialWebsocket(url string, header http.Header) (io.ReadWriteCloser, error) { - return f.forwarder.Dial(url) + protocolHeader := false + protocolHeaderValue := "" + unsupportedHeader := false + for k, v := range header { + if k == "Sec-WebSocket-Protocol" { + protocolHeader = true + protocolHeaderValue = v[0] + } else { + unsupportedHeader = true + } + } + if unsupportedHeader { + return nil, newError("unsupported header used, only Sec-WebSocket-Protocol is supported for forwarder") + } + if !protocolHeader { + return f.forwarder.Dial(url) + } + return f.forwarder.Dial2(url, protocolHeaderValue) } func (f *Forwarder) Type() interface{} { diff --git a/go.mod b/go.mod index b31cd27c6..c74c60eaf 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/pires/go-proxyproto v0.5.0 github.com/seiflotfy/cuckoofilter v0.0.0-20201222105146-bc6005554a0c github.com/stretchr/testify v1.7.0 - github.com/v2fly/BrowserBridge v0.0.0-20210402111049-048ea079a400 + github.com/v2fly/BrowserBridge v0.0.0-20210430233438-0570fc1d7d08 github.com/v2fly/VSign v0.0.0-20201108000810-e2adc24bf848 github.com/v2fly/ss-bloomring v0.0.0-20210312155135-28617310f63e go.starlark.net v0.0.0-20210416142453-1607a96e3d72 diff --git a/go.sum b/go.sum index 3f5ae2d38..2bd834dda 100644 --- a/go.sum +++ b/go.sum @@ -2,17 +2,39 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.37.0/go.mod h1:TS1dMSSfndXH133OKGwekG838Om/cQT0BUHV3HcBgoo= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE= github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= @@ -20,12 +42,20 @@ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5P github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-metro v0.0.0-20200812162917-85c65e2d0165 h1:BS21ZUJ/B5X2UVUbczfmdWH7GapPWAhxcMsDnjJTU1E= github.com/dgryski/go-metro v0.0.0-20200812162917-85c65e2d0165/go.mod h1:c9O8+fpSOX1DM8cPNSkX/qsBWdkD4yd2dpciOWQjpBw= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/ebfe/bcrypt_pbkdf v0.0.0-20140212075826-3c8d2dcb253a h1:YtdtTUN1iH97s+6PUjLnaiKSQj4oG1/EZ3N9bx6g4kU= github.com/ebfe/bcrypt_pbkdf v0.0.0-20140212075826-3c8d2dcb253a/go.mod h1:/CZpbhAusDOobpcb9yubw46kdYjq0zRC0Wpg9a9zFQM= @@ -33,6 +63,7 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= @@ -41,11 +72,19 @@ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4 github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0 h1:jlYHihg//f7RRwuPfptm04yp4s7O6Kw8EZiVYIGcH0g= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= @@ -63,6 +102,7 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -75,27 +115,61 @@ github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+u github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gopherjs/gopherjs v0.0.0-20210202160940-bed99a852dfe/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v0.0.0-20210420193930-a4630ec28c79/go.mod h1:Opf9rtYVq0eTyX+aRVmRO9hE8ERAozcdrBxWG9Q6mkQ= github.com/gopherjs/websocket v0.0.0-20191103002815-9a42957e2b3a/go.mod h1:jd+zY81Fx2lC4bfw58+Rflg1srqmedQjbBUejKOjYNY= github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/h12w/go-socks5 v0.0.0-20200522160539-76189e178364 h1:5XxdakFhqd9dnXoAZy1Mb2R/DZ6D1e+0bGC/JhucGYI= github.com/h12w/go-socks5 v0.0.0-20200522160539-76189e178364/go.mod h1:eDJQioIyy4Yn3MVivT7rv/39gAJTrA7lgmYr8EW950c= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= github.com/jhump/protoreflect v1.8.2 h1:k2xE7wcUomeqwY0LDCYA16y4WWfyTcMx5mKhk0d4ua0= github.com/jhump/protoreflect v1.8.2/go.mod h1:7GcYQDdMU/O/BBrl/cX6PNHpXh6cenjd8pneu5yW7Tg= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -107,23 +181,38 @@ github.com/lucas-clemente/quic-go v0.20.1/go.mod h1:fZq/HUDIM+mW6X6wtzORjC0E/WDB github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40 h1:EnfXoSqDfSNJv0VBNqY/88RNnhSGYkrHaO0mmFGbVsc= github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40/go.mod h1:vy1vK6wD6j7xX6O6hXe621WabdtNkou2h7uRtTfRMyg= github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/marten-seemann/qpack v0.2.1/go.mod h1:F7Gl5L1jIgN1D11ucXefiuJS9UMVP2opoCp2jDKb7wc= github.com/marten-seemann/qtls-go1-15 v0.1.4 h1:RehYMOyRW8hPVEja1KBVsFVNSm35Jj9Mvs5yNoZZ28A= github.com/marten-seemann/qtls-go1-15 v0.1.4/go.mod h1:GyFwywLKkRt+6mfU99csTEY1joMZz5vmB1WNZH3P81I= github.com/marten-seemann/qtls-go1-16 v0.1.3 h1:XEZ1xGorVy9u+lJq+WXNE+hiqRYLNvJGYmwfwKQN2gU= github.com/marten-seemann/qtls-go1-16 v0.1.3/go.mod h1:gNpI2Ol+lRS3WwSOtIUUtRwZEQMXjYK+dQSBFbethAk= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.41 h1:WMszZWJG0XmzbK9FEmzH2TVcqYzFesusSIB41b8KHxY= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= +github.com/neelance/sourcemap v0.0.0-20200213170602-2833bce08e4c/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= github.com/nishanths/predeclared v0.0.0-20200524104333-86fad755b4d3/go.mod h1:nt3d53pc1VYcphSCIaYAJtnPYnr3Zyn8fMq2wvPGPso= github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= @@ -132,22 +221,38 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2 h1:JhzVVoYvbOACxoUmOs6V/G4D5nPVUW73rKvXxP4XUJc= github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= github.com/pires/go-proxyproto v0.5.0 h1:A4Jv4ZCaV3AFJeGh5mGwkz4iuWUYMlQ7IoO/GTuSuLo= github.com/pires/go-proxyproto v0.5.0/go.mod h1:Odh9VFOZJCf9G8cLW5o435Xf1J95Jw9Gw5rnCjcwzAY= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3 h1:f/FNXud6gA3MNr8meMVVGxhp+QBTqY91tM8HjEuMjGg= github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3/go.mod h1:HgjTstvQsPGkxUsCd2KWxErBblirPizecHcpD3ffK+s= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seiflotfy/cuckoofilter v0.0.0-20201222105146-bc6005554a0c h1:pqy40B3MQWYrza7YZXOXgl0Nf0QGFqrOC0BKae1UNAA= github.com/seiflotfy/cuckoofilter v0.0.0-20201222105146-bc6005554a0c/go.mod h1:bR6DqgcAl1zTcOX8/pE2Qkj9XO00eCNqmKb7lXP8EAg= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= @@ -155,6 +260,7 @@ github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIl github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM= github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470/go.mod h1:2dOwnU2uBioM+SGy2aZoq1f/Sd1l9OkAeAUvjSyvgU0= github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= +github.com/shurcooL/go v0.0.0-20200502201357-93f07166e636/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/shurcooL/gofontwoff v0.0.0-20180329035133-29b52fc0a18d/go.mod h1:05UtEgK5zq39gLST6uB0cf3NEHjETfB4Fgr3Gx5R9Vw= github.com/shurcooL/gopherjslib v0.0.0-20160914041154-feb6d3990c2c/go.mod h1:8d3azKNyqcHP1GaQE/c6dDgjkgSx2BZ4IoEi4F1reUI= @@ -164,6 +270,7 @@ github.com/shurcooL/home v0.0.0-20181020052607-80b7ffcb30f9/go.mod h1:+rgNQw2P9A github.com/shurcooL/htmlg v0.0.0-20170918183704-d01228ac9e50/go.mod h1:zPn1wHpTIePGnXSHpsVPWEktKXHr6+SS6x/IKRb7cpw= github.com/shurcooL/httperror v0.0.0-20170206035902-86b7830d14cc/go.mod h1:aYMfkZ6DWSJPJ6c4Wwz3QtW22G7mf/PEgaB9k/ik5+Y= github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= +github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= github.com/shurcooL/httpgzip v0.0.0-20180522190206-b1c53ac65af9/go.mod h1:919LwcH0M7/W4fcZ0/jy0qGght1GIhqyS/EgWGH2j5Q= github.com/shurcooL/issues v0.0.0-20181008053335-6292fdc1e191/go.mod h1:e2qWDig5bLteJ4fwvDAc2NHzqFEthkqn7aOZAOpj+PQ= github.com/shurcooL/issuesapp v0.0.0-20180602232740-048589ce2241/go.mod h1:NPpHK2TI7iSaM0buivtFUc9offApnI0Alt/K8hcHy0I= @@ -171,66 +278,118 @@ github.com/shurcooL/notifications v0.0.0-20181007000457-627ab5aea122/go.mod h1:b github.com/shurcooL/octicon v0.0.0-20181028054416-fa4f57f9efb2/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ= github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82/go.mod h1:TCR1lToEk4d2s07G3XGfz2QrgHXg4RJBvjrOozvoWfk= github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4= github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/v2fly/BrowserBridge v0.0.0-20210402111049-048ea079a400 h1:aEW75Hq5bqMEEEMGxlR9LBfPyTjskthn1BQeigjxN9c= github.com/v2fly/BrowserBridge v0.0.0-20210402111049-048ea079a400/go.mod h1:skmBSeT/GvVqal/eylE9E16x9RC29xFXCbxDLVmatOk= +github.com/v2fly/BrowserBridge v0.0.0-20210430233438-0570fc1d7d08 h1:4Yh46CVE3k/lPq6hUbEdbB1u1anRBXLewm3k+L0iOMc= +github.com/v2fly/BrowserBridge v0.0.0-20210430233438-0570fc1d7d08/go.mod h1:KAuQNm+LWQCOFqdBcUgihPzRpVXRKzGbTNhfEfRZ4wY= github.com/v2fly/VSign v0.0.0-20201108000810-e2adc24bf848 h1:p1UzXK6VAutXFFQMnre66h7g1BjRKUnLv0HfmmRoz7w= github.com/v2fly/VSign v0.0.0-20201108000810-e2adc24bf848/go.mod h1:p80Bv154ZtrGpXMN15slDCqc9UGmfBuUzheDFBYaW/M= github.com/v2fly/ss-bloomring v0.0.0-20210312155135-28617310f63e h1:5QefA066A1tF8gHIiADmOVOV5LS43gt3ONnlEl3xkwI= github.com/v2fly/ss-bloomring v0.0.0-20210312155135-28617310f63e/go.mod h1:5t19P9LBIrNamL6AcMQOncg/r10y3Pc01AbHeMhwlpU= github.com/viant/assertly v0.4.8/go.mod h1:aGifi++jvCrUaklKEKT0BU95igDNaqkvz+49uaYMPRU= github.com/viant/toolbox v0.24.0/go.mod h1:OxMCG57V0PXuIP2HNQrtJf2CjqdmbrOx5EkMILuUhzM= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xtaci/smux v1.5.15 h1:6hMiXswcleXj5oNfcJc+DXS8Vj36XX2LaX98udog6Kc= github.com/xtaci/smux v1.5.15/go.mod h1:OMlQbT5vcgl2gb49mFkYo6SMf+zP3rcjcwQz7ZU7IGY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.starlark.net v0.0.0-20210416142453-1607a96e3d72 h1:MpoVbFFL6+YAnPK5o3mcQ39Mk4XQBGjhvaJG54jPg6g= go.starlark.net v0.0.0-20210416142453-1607a96e3d72/go.mod h1:t3mmBBPzAVvK0L0n1drDmrQsJ8FoIx4INCqVMTr/Zo0= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210415154028-4f45737414dc h1:+q90ECDSAQirdykUN6sPEiBXBsp8Csjcca8Oy7bgLTA= golang.org/x/crypto v0.0.0-20210415154028-4f45737414dc/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181029044818-c44066c5c816/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210415231046-e915ea6b2b7d h1:BgJvlyh+UqCUaPlscHJ+PN8GcpfrFdr7NHjd1JL0+Gs= golang.org/x/net v0.0.0-20210415231046-e915ea6b2b7d/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= @@ -238,6 +397,7 @@ golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAG golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -246,14 +406,25 @@ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190316082340-a2f829d7f35f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -263,8 +434,10 @@ golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201231184435-2d18734c6014/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210415045647-66c3f260301c h1:6L+uOeS3OQt/f4eFHXZcTxeZrGCuz+CLElgEBjbcTA4= golang.org/x/sys v0.0.0-20210415045647-66c3f260301c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -276,18 +449,32 @@ golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030000716-a0a13e073c7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -296,22 +483,38 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= google.golang.org/genproto v0.0.0-20190306203927-b5d61aea6440/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -330,19 +533,24 @@ google.golang.org/protobuf v1.25.1-0.20200805231151-a709e31e5d12/go.mod h1:9JNX7 google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c h1:grhR+C34yXImVGp7EzNk+DTIk+323eIUWOmEevy6bDo= gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= @@ -352,7 +560,10 @@ h12.io/socks v1.0.2/go.mod h1:AIhxy1jOId/XCz9BO+EIgNL2rQiPTBNnOfnVnQ+3Eck= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= From b3957e029c30a31ee90effb1f73bc0c5c2c3bc0f Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sat, 1 May 2021 15:59:10 +0100 Subject: [PATCH 8/9] update browser forwarder script --- common/platform/securedload/embedded.go | 2 +- release/extra/browserforwarder/index.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/common/platform/securedload/embedded.go b/common/platform/securedload/embedded.go index 84c520443..c3417637d 100644 --- a/common/platform/securedload/embedded.go +++ b/common/platform/securedload/embedded.go @@ -4,6 +4,6 @@ const allowedHashes = `SHA256 (!#project==v2fly) = fffffffffffffffffffffffffffff SHA256 (!#version==embedded) = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff SHA256 (subscriptions/subscriptionsDefinition.v2flyTemplate) = 3f165dba7de0d7c506fbdff3275ea64b76f307df435316a3ea0914ee957793ab SHA256 (browserforwarder/index.html) = 34f2c573724256421ade769bda18eeac85172bf0aaed00d7b90e41e843a2caef -SHA256 (browserforwarder/index.js) = cf502dfb70fc81429d3848d21dae4ac9f04d7da1386849392ebd0c5b73cccdcc +SHA256 (browserforwarder/index.js) = cb587a075bb0addcdc0d22c9222a48d2c7004b54935b5021379d3d35dc1f2927 ` diff --git a/release/extra/browserforwarder/index.js b/release/extra/browserforwarder/index.js index a3d236c9f..41f835cb7 100644 --- a/release/extra/browserforwarder/index.js +++ b/release/extra/browserforwarder/index.js @@ -35,8 +35,8 @@ $packages["strings"]=(function(){var $pkg={},$init,C,B,F,D,E,G,A,L,BT,CG,CH,CI,C $packages["regexp/syntax"]=(function(){var $pkg={},$init,C,B,D,A,E,F,G,H,M,N,O,P,Z,AM,BK,BL,BN,BQ,BV,BW,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,J,K,L,AA,AR,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BM,I,Q,R,S,T,U,V,W,X,Y,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AN,AO,AP,AQ,BP,BR,BS,BT,BU,BX,BY,BZ;C=$packages["sort"];B=$packages["strconv"];D=$packages["strings"];A=$packages["unicode"];E=$packages["unicode/utf8"];F=$pkg.patchList=$newType(4,$kindUint32,"syntax.patchList",true,"regexp/syntax",false,null);G=$pkg.frag=$newType(0,$kindStruct,"syntax.frag",true,"regexp/syntax",false,function(i_,out_){this.$val=this;if(arguments.length===0){this.i=0;this.out=0;return;}this.i=i_;this.out=out_;});H=$pkg.compiler=$newType(0,$kindStruct,"syntax.compiler",true,"regexp/syntax",false,function(p_){this.$val=this;if(arguments.length===0){this.p=CE.nil;return;}this.p=p_;});M=$pkg.Error=$newType(0,$kindStruct,"syntax.Error",true,"regexp/syntax",true,function(Code_,Expr_){this.$val=this;if(arguments.length===0){this.Code="";this.Expr="";return;}this.Code=Code_;this.Expr=Expr_;});N=$pkg.ErrorCode=$newType(8,$kindString,"syntax.ErrorCode",true,"regexp/syntax",true,null);O=$pkg.Flags=$newType(2,$kindUint16,"syntax.Flags",true,"regexp/syntax",true,null);P=$pkg.parser=$newType(0,$kindStruct,"syntax.parser",true,"regexp/syntax",false,function(flags_,stack_,free_,numCap_,wholeRegexp_,tmpClass_){this.$val=this;if(arguments.length===0){this.flags=0;this.stack=CH.nil;this.free=CG.nil;this.numCap=0;this.wholeRegexp="";this.tmpClass=CA.nil;return;}this.flags=flags_;this.stack=stack_;this.free=free_;this.numCap=numCap_;this.wholeRegexp=wholeRegexp_;this.tmpClass=tmpClass_;});Z=$pkg.charGroup=$newType(0,$kindStruct,"syntax.charGroup",true,"regexp/syntax",false,function(sign_,class$1_){this.$val=this;if(arguments.length===0){this.sign=0;this.class$1=CA.nil;return;}this.sign=sign_;this.class$1=class$1_;});AM=$pkg.ranges=$newType(0,$kindStruct,"syntax.ranges",true,"regexp/syntax",false,function(p_){this.$val=this;if(arguments.length===0){this.p=CK.nil;return;}this.p=p_;});BK=$pkg.Prog=$newType(0,$kindStruct,"syntax.Prog",true,"regexp/syntax",true,function(Inst_,Start_,NumCap_){this.$val=this;if(arguments.length===0){this.Inst=CF.nil;this.Start=0;this.NumCap=0;return;}this.Inst=Inst_;this.Start=Start_;this.NumCap=NumCap_;});BL=$pkg.InstOp=$newType(1,$kindUint8,"syntax.InstOp",true,"regexp/syntax",true,null);BN=$pkg.EmptyOp=$newType(1,$kindUint8,"syntax.EmptyOp",true,"regexp/syntax",true,null);BQ=$pkg.Inst=$newType(0,$kindStruct,"syntax.Inst",true,"regexp/syntax",true,function(Op_,Out_,Arg_,Rune_){this.$val=this;if(arguments.length===0){this.Op=0;this.Out=0;this.Arg=0;this.Rune=CA.nil;return;}this.Op=Op_;this.Out=Out_;this.Arg=Arg_;this.Rune=Rune_;});BV=$pkg.Regexp=$newType(0,$kindStruct,"syntax.Regexp",true,"regexp/syntax",true,function(Op_,Flags_,Sub_,Sub0_,Rune_,Rune0_,Min_,Max_,Cap_,Name_){this.$val=this;if(arguments.length===0){this.Op=0;this.Flags=0;this.Sub=CH.nil;this.Sub0=CI.zero();this.Rune=CA.nil;this.Rune0=CJ.zero();this.Min=0;this.Max=0;this.Cap=0;this.Name="";return;}this.Op=Op_;this.Flags=Flags_;this.Sub=Sub_;this.Sub0=Sub0_;this.Rune=Rune_;this.Rune0=Rune0_;this.Min=Min_;this.Max=Max_;this.Cap=Cap_;this.Name=Name_;});BW=$pkg.Op=$newType(1,$kindUint8,"syntax.Op",true,"regexp/syntax",true,null);CA=$sliceType($Int32);CB=$sliceType(A.Range16);CC=$sliceType(A.Range32);CD=$sliceType($String);CE=$ptrType(BK);CF=$sliceType(BQ);CG=$ptrType(BV);CH=$sliceType(CG);CI=$arrayType(CG,1);CJ=$arrayType($Int32,2);CK=$ptrType(CA);CL=$ptrType(A.RangeTable);CM=$ptrType(D.Builder);CN=$sliceType($Uint8);CO=$ptrType(H);CP=$ptrType(M);CQ=$ptrType(P);CR=$ptrType(BQ);F.prototype.next=function(a){var a,b,c,d,e;b=this.$val;e=(c=a.Inst,d=b>>>1>>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]));if(((b&1)>>>0)===0){return((e.Out>>>0));}return((e.Arg>>>0));};$ptrType(F).prototype.next=function(a){return new F(this.$get()).next(a);};F.prototype.patch=function(a,b){var a,b,c,d,e,f;c=this.$val;while(true){if(!(!((c===0)))){break;}f=(d=a.Inst,e=c>>>1>>>0,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]));if(((c&1)>>>0)===0){c=((f.Out>>>0));f.Out=b;}else{c=((f.Arg>>>0));f.Arg=b;}}};$ptrType(F).prototype.patch=function(a,b){return new F(this.$get()).patch(a,b);};F.prototype.append=function(a,b){var a,b,c,d,e,f,g,h;c=this.$val;if(c===0){return b;}if(b===0){return c;}d=c;while(true){e=new F(d).next(a);if(e===0){break;}d=e;}h=(f=a.Inst,g=d>>>1>>>0,((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]));if(((d&1)>>>0)===0){h.Out=((b>>>0));}else{h.Arg=((b>>>0));}return c;};$ptrType(F).prototype.append=function(a,b){return new F(this.$get()).append(a,b);};I=function(a){var a,b,c;b=new H.ptr(CE.nil);b.init();c=$clone(b.compile(a),G);new F(c.out).patch(b.p,b.inst(4).i);b.p.Start=((c.i>>0));return[b.p,$ifaceNil];};$pkg.Compile=I;H.ptr.prototype.init=function(){var a;a=this;a.p=new BK.ptr(CF.nil,0,0);a.p.NumCap=2;a.inst(5);};H.prototype.init=function(){return this.$val.init();};H.ptr.prototype.compile=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;b=this;c=a.Op;if(c===(1)){return b.fail();}else if(c===(2)){return b.nop();}else if(c===(3)){if(a.Rune.$length===0){return b.nop();}d=new G.ptr(0,0);e=a.Rune;f=0;while(true){if(!(f>0)),a.Flags),G);if(g===0){G.copy(d,h);}else{G.copy(d,b.cat($clone(d,G),$clone(h,G)));}f++;}return d;}else if(c===(4)){return b.rune(a.Rune,a.Flags);}else if(c===(5)){return b.rune(J,0);}else if(c===(6)){return b.rune(K,0);}else if(c===(7)){return b.empty(1);}else if(c===(8)){return b.empty(2);}else if(c===(9)){return b.empty(4);}else if(c===(10)){return b.empty(8);}else if(c===(11)){return b.empty(16);}else if(c===(12)){return b.empty(32);}else if(c===(13)){i=$clone(b.cap((((a.Cap<<1>>0)>>>0))),G);k=$clone(b.compile((j=a.Sub,(0>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+0]))),G);l=$clone(b.cap(((((a.Cap<<1>>0)|1)>>>0))),G);return b.cat($clone(b.cat($clone(i,G),$clone(k,G)),G),$clone(l,G));}else if(c===(14)){return b.star($clone(b.compile((m=a.Sub,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]))),G),!((((a.Flags&32)>>>0)===0)));}else if(c===(15)){return b.plus($clone(b.compile((n=a.Sub,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]))),G),!((((a.Flags&32)>>>0)===0)));}else if(c===(16)){return b.quest($clone(b.compile((o=a.Sub,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]))),G),!((((a.Flags&32)>>>0)===0)));}else if(c===(18)){if(a.Sub.$length===0){return b.nop();}p=new G.ptr(0,0);q=a.Sub;r=0;while(true){if(!(r=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);if(s===0){G.copy(p,b.compile(t));}else{G.copy(p,b.cat($clone(p,G),$clone(b.compile(t),G)));}r++;}return p;}else if(c===(19)){u=new G.ptr(0,0);v=a.Sub;w=0;while(true){if(!(w=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w]);G.copy(u,b.alt($clone(u,G),$clone(b.compile(x),G)));w++;}return u;}$panic(new $String("regexp: unhandled case in compile"));};H.prototype.compile=function(a){return this.$val.compile(a);};H.ptr.prototype.inst=function(a){var a,b,c;b=this;c=new G.ptr(((b.p.Inst.$length>>>0)),0);b.p.Inst=$append(b.p.Inst,new BQ.ptr(a,0,0,CA.nil));return c;};H.prototype.inst=function(a){return this.$val.inst(a);};H.ptr.prototype.nop=function(){var a,b;a=this;b=$clone(a.inst(6),G);b.out=(((b.i<<1>>>0)>>>0));return b;};H.prototype.nop=function(){return this.$val.nop();};H.ptr.prototype.fail=function(){var a;a=this;return new G.ptr(0,0);};H.prototype.fail=function(){return this.$val.fail();};H.ptr.prototype.cap=function(a){var a,b,c,d,e;b=this;c=$clone(b.inst(2),G);c.out=(((c.i<<1>>>0)>>>0));(d=b.p.Inst,e=c.i,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e])).Arg=a;if(b.p.NumCap<(((a>>0))+1>>0)){b.p.NumCap=((a>>0))+1>>0;}return c;};H.prototype.cap=function(a){return this.$val.cap(a);};H.ptr.prototype.cat=function(a,b){var a,b,c;c=this;if((a.i===0)||(b.i===0)){return new G.ptr(0,0);}new F(a.out).patch(c.p,b.i);return new G.ptr(a.i,b.out);};H.prototype.cat=function(a,b){return this.$val.cat(a,b);};H.ptr.prototype.alt=function(a,b){var a,b,c,d,e,f,g;c=this;if(a.i===0){return b;}if(b.i===0){return a;}d=$clone(c.inst(0),G);g=(e=c.p.Inst,f=d.i,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));g.Out=a.i;g.Arg=b.i;d.out=new F(a.out).append(c.p,b.out);return d;};H.prototype.alt=function(a,b){return this.$val.alt(a,b);};H.ptr.prototype.quest=function(a,b){var a,b,c,d,e,f,g;c=this;d=$clone(c.inst(0),G);g=(e=c.p.Inst,f=d.i,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));if(b){g.Arg=a.i;d.out=(((d.i<<1>>>0)>>>0));}else{g.Out=a.i;d.out=(((((d.i<<1>>>0)|1)>>>0)>>>0));}d.out=new F(d.out).append(c.p,a.out);return d;};H.prototype.quest=function(a,b){return this.$val.quest(a,b);};H.ptr.prototype.star=function(a,b){var a,b,c,d,e,f,g;c=this;d=$clone(c.inst(0),G);g=(e=c.p.Inst,f=d.i,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));if(b){g.Arg=a.i;d.out=(((d.i<<1>>>0)>>>0));}else{g.Out=a.i;d.out=(((((d.i<<1>>>0)|1)>>>0)>>>0));}new F(a.out).patch(c.p,d.i);return d;};H.prototype.star=function(a,b){return this.$val.star(a,b);};H.ptr.prototype.plus=function(a,b){var a,b,c;c=this;return new G.ptr(a.i,c.star($clone(a,G),b).out);};H.prototype.plus=function(a,b){return this.$val.plus(a,b);};H.ptr.prototype.empty=function(a){var a,b,c,d,e;b=this;c=$clone(b.inst(3),G);(d=b.p.Inst,e=c.i,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e])).Arg=((a>>>0));c.out=(((c.i<<1>>>0)>>>0));return c;};H.prototype.empty=function(a){return this.$val.empty(a);};H.ptr.prototype.rune=function(a,b){var a,b,c,d,e,f,g;c=this;d=$clone(c.inst(7),G);g=(e=c.p.Inst,f=d.i,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));g.Rune=a;b=(b&(1))>>>0;if(!((a.$length===1))||(A.SimpleFold((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]))===(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]))){b=(b&~(1))<<16>>>16;}g.Arg=((b>>>0));d.out=(((d.i<<1>>>0)>>>0));if((((b&1)>>>0)===0)&&((a.$length===1)||(a.$length===2)&&((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])===(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])))){g.Op=8;}else if((a.$length===2)&&((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])===0)&&((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])===1114111)){g.Op=9;}else if((a.$length===4)&&((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])===0)&&((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1])===9)&&((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2])===11)&&((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3])===1114111)){g.Op=10;}return d;};H.prototype.rune=function(a,b){return this.$val.rune(a,b);};BW.prototype.String=function(){var a,b;a=this.$val;if(1<=a&&a<=19){a=a-(1)<<24>>>24;return $substring("NoMatchEmptyMatchLiteralCharClassAnyCharNotNLAnyCharBeginLineEndLineBeginTextEndTextWordBoundaryNoWordBoundaryCaptureStarPlusQuestRepeatConcatAlternate",((a<0||a>=L.length)?($throwRuntimeError("index out of range"),undefined):L[a]),(b=a+1<<24>>>24,((b<0||b>=L.length)?($throwRuntimeError("index out of range"),undefined):L[b])));}else if((a===128)){return"opPseudo";}else{return"Op("+B.FormatInt((new $Int64(0,a)),10)+")";}};$ptrType(BW).prototype.String=function(){return new BW(this.$get()).String();};M.ptr.prototype.Error=function(){var a;a=this;return"error parsing regexp: "+new N(a.Code).String()+": `"+a.Expr+"`";};M.prototype.Error=function(){return this.$val.Error();};N.prototype.String=function(){var a;a=this.$val;return(a);};$ptrType(N).prototype.String=function(){return new N(this.$get()).String();};P.ptr.prototype.newRegexp=function(a){var a,b,c;b=this;c=b.free;if(!(c===CG.nil)){b.free=c.Sub0[0];BV.copy(c,new BV.ptr(0,0,CH.nil,CI.zero(),CA.nil,CJ.zero(),0,0,0,""));}else{c=new BV.ptr(0,0,CH.nil,CI.zero(),CA.nil,CJ.zero(),0,0,0,"");}c.Op=a;return c;};P.prototype.newRegexp=function(a){return this.$val.newRegexp(a);};P.ptr.prototype.reuse=function(a){var a,b;b=this;a.Sub0[0]=b.free;b.free=a;};P.prototype.reuse=function(a){return this.$val.reuse(a);};P.ptr.prototype.push=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;b=this;if((a.Op===4)&&(a.Rune.$length===2)&&((c=a.Rune,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]))===(d=a.Rune,(1>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+1])))){if(b.maybeConcat((s=a.Rune,(0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0])),(b.flags&~1)<<16>>>16)){return CG.nil;}a.Op=3;a.Rune=$subslice(a.Rune,0,1);a.Flags=(b.flags&~1)<<16>>>16;}else if((a.Op===4)&&(a.Rune.$length===4)&&((e=a.Rune,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]))===(f=a.Rune,(1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1])))&&((g=a.Rune,(2>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+2]))===(h=a.Rune,(3>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+3])))&&(A.SimpleFold((i=a.Rune,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0])))===(j=a.Rune,(2>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+2])))&&(A.SimpleFold((k=a.Rune,(2>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+2])))===(l=a.Rune,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])))||(a.Op===4)&&(a.Rune.$length===2)&&(((m=a.Rune,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]))+1>>0)===(n=a.Rune,(1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1])))&&(A.SimpleFold((o=a.Rune,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])))===(p=a.Rune,(1>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+1])))&&(A.SimpleFold((q=a.Rune,(1>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+1])))===(r=a.Rune,(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0])))){if(b.maybeConcat((t=a.Rune,(0>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+0])),(b.flags|1)>>>0)){return CG.nil;}a.Op=3;a.Rune=$subslice(a.Rune,0,1);a.Flags=(b.flags|1)>>>0;}else{b.maybeConcat(-1,0);}b.stack=$append(b.stack,a);return a;};P.prototype.push=function(a){return this.$val.push(a);};P.ptr.prototype.maybeConcat=function(a,b){var a,b,c,d,e,f,g,h,i,j,k;c=this;d=c.stack.$length;if(d<2){return false;}g=(e=c.stack,f=d-1>>0,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));j=(h=c.stack,i=d-2>>0,((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]));if(!((g.Op===3))||!((j.Op===3))||!((((g.Flags&1)>>>0)===((j.Flags&1)>>>0)))){return false;}j.Rune=$appendSlice(j.Rune,g.Rune);if(a>=0){g.Rune=$subslice(new CA(g.Rune0),0,1);(k=g.Rune,(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0]=a));g.Flags=b;return true;}c.stack=$subslice(c.stack,0,(d-1>>0));c.reuse(g);return false;};P.prototype.maybeConcat=function(a,b){return this.$val.maybeConcat(a,b);};P.ptr.prototype.newLiteral=function(a,b){var a,b,c,d;c=this;d=c.newRegexp(3);d.Flags=b;if(!((((b&1)>>>0)===0))){a=Q(a);}d.Rune0[0]=a;d.Rune=$subslice(new CA(d.Rune0),0,1);return d;};P.prototype.newLiteral=function(a,b){return this.$val.newLiteral(a,b);};Q=function(a){var a,b,c;if(a<65||a>125251){return a;}b=a;c=a;a=A.SimpleFold(a);while(true){if(!(!((a===c)))){break;}if(b>a){b=a;}a=A.SimpleFold(a);}return b;};P.ptr.prototype.literal=function(a){var a,b;b=this;b.push(b.newLiteral(a,b.flags));};P.prototype.literal=function(a){return this.$val.literal(a);};P.ptr.prototype.op=function(a){var a,b,c;b=this;c=b.newRegexp(a);c.Flags=b.flags;return b.push(c);};P.prototype.op=function(a){return this.$val.op(a);};P.ptr.prototype.repeat=function(a,b,c,d,e,f){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;g=this;h=g.flags;if(!((((g.flags&64)>>>0)===0))){if(e.length>0&&(e.charCodeAt(0)===63)){e=$substring(e,1);h=(h^(32))<<16>>>16;}if(!(f==="")){return["",new M.ptr("invalid nested repetition operator",$substring(f,0,(f.length-e.length>>0)))];}}i=g.stack.$length;if(i===0){return["",new M.ptr("missing argument to repetition operator",$substring(d,0,(d.length-e.length>>0)))];}l=(j=g.stack,k=i-1>>0,((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]));if(l.Op>=128){return["",new M.ptr("missing argument to repetition operator",$substring(d,0,(d.length-e.length>>0)))];}m=g.newRegexp(a);m.Min=b;m.Max=c;m.Flags=h;m.Sub=$subslice(new CH(m.Sub0),0,1);(n=m.Sub,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]=l));(o=g.stack,p=i-1>>0,((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=m));if((a===17)&&(b>=2||c>=2)&&!R(m,1000)){return["",new M.ptr("invalid repeat count",$substring(d,0,(d.length-e.length>>0)))];}return[e,$ifaceNil];};P.prototype.repeat=function(a,b,c,d,e,f){return this.$val.repeat(a,b,c,d,e,f);};R=function(a,b){var a,b,c,d,e,f,g;if(a.Op===17){c=a.Max;if(c===0){return true;}if(c<0){c=a.Min;}if(c>b){return false;}if(c>0){b=(d=b/(c),(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero"));}}e=a.Sub;f=0;while(true){if(!(f=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if(!R(g,b)){return false;}f++;}return true;};P.ptr.prototype.concat=function(){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;a.maybeConcat(-1,0);b=a.stack.$length;while(true){if(!(b>0&&(c=a.stack,d=b-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).Op<128)){break;}b=b-(1)>>0;}e=$subslice(a.stack,b);a.stack=$subslice(a.stack,0,b);if(e.$length===0){$s=-1;return a.push(a.newRegexp(2));}f=a.collapse(e,18);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=a.push(f);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.concat};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.concat=function(){return this.$val.concat();};P.ptr.prototype.alternate=function(){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.stack.$length;while(true){if(!(b>0&&(c=a.stack,d=b-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).Op<128)){break;}b=b-(1)>>0;}e=$subslice(a.stack,b);a.stack=$subslice(a.stack,0,b);if(e.$length>0){$s=1;continue;}$s=2;continue;case 1:$r=S((f=e.$length-1>>0,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f])));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(e.$length===0){$s=-1;return a.push(a.newRegexp(1));}g=a.collapse(e,19);$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=a.push(g);$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.alternate};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.alternate=function(){return this.$val.alternate();};S=function(a){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.Op;if(b===(4)){$s=2;continue;}$s=3;continue;case 2:c=AC((a.$ptr_Rune||(a.$ptr_Rune=new CK(function(){return this.$target.Rune;},function($v){this.$target.Rune=$v;},a))));$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}a.Rune=c;if((a.Rune.$length===2)&&((d=a.Rune,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]))===0)&&((e=a.Rune,(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]))===1114111)){a.Rune=CA.nil;a.Op=6;$s=-1;return;}if((a.Rune.$length===4)&&((f=a.Rune,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]))===0)&&((g=a.Rune,(1>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+1]))===9)&&((h=a.Rune,(2>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+2]))===11)&&((i=a.Rune,(3>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+3]))===1114111)){a.Rune=CA.nil;a.Op=5;$s=-1;return;}if((a.Rune.$capacity-a.Rune.$length>>0)>100){a.Rune=$appendSlice($subslice(new CA(a.Rune0),0,0),a.Rune);}case 3:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:S};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};P.ptr.prototype.collapse=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(a.$length===1){$s=-1;return(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]);}d=c.newRegexp(b);d.Sub=$subslice(new CH(d.Sub0),0,0);e=a;f=0;while(true){if(!(f=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if(g.Op===b){d.Sub=$appendSlice(d.Sub,g.Sub);c.reuse(g);}else{d.Sub=$append(d.Sub,g);}f++;}if(b===19){$s=1;continue;}$s=2;continue;case 1:h=c.factor(d.Sub);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}d.Sub=h;if(d.Sub.$length===1){i=d;d=(j=d.Sub,(0>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+0]));c.reuse(i);}case 2:$s=-1;return d;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.collapse};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.collapse=function(a,b){return this.$val.collapse(a,b);};P.ptr.prototype.factor=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a.$length<2){$s=-1;return a;}c=CA.nil;d=0;e=0;f=$subslice(a,0,0);g=0;case 1:if(!(g<=a.$length)){$s=2;continue;}h=CA.nil;i=0;if(g=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]));h=j[0];i=j[1];if(i===d){k=0;while(true){if(!(k=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+k])===((k<0||k>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+k])))){break;}k=k+(1)>>0;}if(k>0){c=$subslice(c,0,k);g=g+(1)>>0;$s=1;continue;}}case 4:if(g===e){$s=5;continue;}if(g===(e+1>>0)){$s=6;continue;}$s=7;continue;case 5:$s=8;continue;case 6:f=$append(f,((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));$s=8;continue;case 7:l=b.newRegexp(3);l.Flags=d;l.Rune=$appendSlice($subslice(l.Rune,0,0),c);m=e;while(true){if(!(m=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+m]=b.removeLeadingString(((m<0||m>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+m]),c.$length));m=m+(1)>>0;}n=b.collapse($subslice(a,e,g),19);$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;p=b.newRegexp(18);p.Sub=$append($subslice(p.Sub,0,0),l,o);f=$append(f,p);case 8:e=g;c=h;d=i;g=g+(1)>>0;$s=1;continue;case 2:a=f;e=0;f=$subslice(a,0,0);q=CG.nil;r=0;case 10:if(!(r<=a.$length)){$s=11;continue;}s=CG.nil;if(r=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+r]));if(!(q===CG.nil)&&q.Equal(s)&&(W(q)||((q.Op===17)&&(q.Min===q.Max)&&W((t=q.Sub,(0>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+0])))))){r=r+(1)>>0;$s=10;continue;}case 13:if(r===e){$s=14;continue;}if(r===(e+1>>0)){$s=15;continue;}$s=16;continue;case 14:$s=17;continue;case 15:f=$append(f,((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));$s=17;continue;case 16:u=q;v=e;while(true){if(!(v=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+v]=b.removeLeadingRegexp(((v<0||v>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+v]),w));v=v+(1)>>0;}x=b.collapse($subslice(a,e,r),19);$s=18;case 18:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=x;z=b.newRegexp(18);z.Sub=$append($subslice(z.Sub,0,0),u,y);f=$append(f,z);case 17:e=r;q=s;r=r+(1)>>0;$s=10;continue;case 11:a=f;e=0;f=$subslice(a,0,0);aa=0;case 19:if(!(aa<=a.$length)){$s=20;continue;}if(aa=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+aa]))){$s=21;continue;}$s=22;continue;case 21:aa=aa+(1)>>0;$s=19;continue;case 22:if(aa===e){$s=23;continue;}if(aa===(e+1>>0)){$s=24;continue;}$s=25;continue;case 23:$s=26;continue;case 24:f=$append(f,((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));$s=26;continue;case 25:ab=e;ac=e+1>>0;while(true){if(!(ac=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]).Op<((ac<0||ac>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ac]).Op||(((ab<0||ab>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]).Op===((ac<0||ac>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ac]).Op)&&((ab<0||ab>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]).Rune.$length<((ac<0||ac>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ac]).Rune.$length){ab=ac;}ac=ac+(1)>>0;}ad=((ab<0||ab>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]);ae=((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]);((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]=ad);((ab<0||ab>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ab]=ae);af=e+1>>0;while(true){if(!(af=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]),((af<0||af>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+af]));b.reuse(((af<0||af>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+af]));af=af+(1)>>0;}$r=S(((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=$append(f,((e<0||e>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]));case 26:if(aa=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+aa]));}e=aa+1>>0;aa=aa+(1)>>0;$s=19;continue;case 20:a=f;e=0;f=$subslice(a,0,0);ag=a;ah=0;while(true){if(!(ah>0)=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ai]).Op===2)&&((aj=ai+1>>0,((aj<0||aj>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+aj])).Op===2)){ah++;continue;}f=$append(f,((ai<0||ai>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+ai]));ah++;}a=f;$s=-1;return a;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.factor};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.factor=function(a){return this.$val.factor(a);};P.ptr.prototype.leadingString=function(a){var a,b,c;b=this;if((a.Op===18)&&a.Sub.$length>0){a=(c=a.Sub,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]));}if(!((a.Op===3))){return[CA.nil,0];}return[a.Rune,(a.Flags&1)>>>0];};P.prototype.leadingString=function(a){return this.$val.leadingString(a);};P.ptr.prototype.removeLeadingString=function(a,b){var a,b,c,d,e,f,g,h,i;c=this;if((a.Op===18)&&a.Sub.$length>0){e=(d=a.Sub,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]));e=c.removeLeadingString(e,b);(f=a.Sub,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]=e));if(e.Op===2){c.reuse(e);g=a.Sub.$length;if((g===(0))||(g===(1))){a.Op=2;a.Sub=CH.nil;}else if(g===(2)){h=a;a=(i=a.Sub,(1>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+1]));c.reuse(h);}else{$copySlice(a.Sub,$subslice(a.Sub,1));a.Sub=$subslice(a.Sub,0,(a.Sub.$length-1>>0));}}return a;}if(a.Op===3){a.Rune=$subslice(a.Rune,0,$copySlice(a.Rune,$subslice(a.Rune,b)));if(a.Rune.$length===0){a.Op=2;}}return a;};P.prototype.removeLeadingString=function(a,b){return this.$val.removeLeadingString(a,b);};P.ptr.prototype.leadingRegexp=function(a){var a,b,c,d;b=this;if(a.Op===2){return CG.nil;}if((a.Op===18)&&a.Sub.$length>0){d=(c=a.Sub,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]));if(d.Op===2){return CG.nil;}return d;}return a;};P.prototype.leadingRegexp=function(a){return this.$val.leadingRegexp(a);};P.ptr.prototype.removeLeadingRegexp=function(a,b){var a,b,c,d,e,f,g;c=this;if((a.Op===18)&&a.Sub.$length>0){if(b){c.reuse((d=a.Sub,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])));}a.Sub=$subslice(a.Sub,0,$copySlice(a.Sub,$subslice(a.Sub,1)));e=a.Sub.$length;if(e===(0)){a.Op=2;a.Sub=CH.nil;}else if(e===(1)){f=a;a=(g=a.Sub,(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]));c.reuse(f);}return a;}if(b){c.reuse(a);}return c.newRegexp(2);};P.prototype.removeLeadingRegexp=function(a,b){return this.$val.removeLeadingRegexp(a,b);};T=function(a,b){var a,b,c,d,e,f,g;c=new BV.ptr(3,0,CH.nil,CI.zero(),CA.nil,CJ.zero(),0,0,0,"");c.Flags=b;c.Rune=$subslice(new CA(c.Rune0),0,0);d=a;e=0;while(true){if(!(e=c.Rune.$capacity){c.Rune=(new CA($stringToRunes(a)));break;}c.Rune=$append(c.Rune,g);e+=f[1];}return c;};U=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!((((b&2)>>>0)===0))){c=AN(a);if(!($interfaceIsEqual(c,$ifaceNil))){$s=-1;return[CG.nil,c];}$s=-1;return[T(a,b),$ifaceNil];}d=new P.ptr(0,CH.nil,CG.nil,0,"",CA.nil);e=$ifaceNil;f=0;g=0;h="";d.flags=b;d.wholeRegexp=a;i=a;case 1:if(!(!(i===""))){$s=2;continue;}j="";k=i.charCodeAt(0);if(k===(40)){$s=4;continue;}if(k===(124)){$s=5;continue;}if(k===(41)){$s=6;continue;}if(k===(94)){$s=7;continue;}if(k===(36)){$s=8;continue;}if(k===(46)){$s=9;continue;}if(k===(91)){$s=10;continue;}if((k===(42))||(k===(43))||(k===(63))){$s=11;continue;}if(k===(123)){$s=12;continue;}if(k===(92)){$s=13;continue;}$s=14;continue;case 4:if(!((((d.flags&64)>>>0)===0))&&i.length>=2&&(i.charCodeAt(1)===63)){l=d.parsePerlFlags(i);i=l[0];e=l[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CG.nil,e];}$s=3;continue;}d.numCap=d.numCap+(1)>>0;d.op(128).Cap=d.numCap;i=$substring(i,1);$s=15;continue;case 5:m=d.parseVerticalBar();$s=16;case 16:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}e=m;if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CG.nil,e];}i=$substring(i,1);$s=15;continue;case 6:n=d.parseRightParen();$s=17;case 17:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}e=n;if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CG.nil,e];}i=$substring(i,1);$s=15;continue;case 7:if(!((((d.flags&16)>>>0)===0))){d.op(9);}else{d.op(7);}i=$substring(i,1);$s=15;continue;case 8:if(!((((d.flags&16)>>>0)===0))){o=d.op(10);o.Flags=(o.Flags|(256))>>>0;}else{d.op(8);}i=$substring(i,1);$s=15;continue;case 9:if(!((((d.flags&8)>>>0)===0))){d.op(6);}else{d.op(5);}i=$substring(i,1);$s=15;continue;case 10:q=d.parseClass(i);$s=18;case 18:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;i=p[0];e=p[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CG.nil,e];}$s=15;continue;case 11:r=i;s=i.charCodeAt(0);if(s===(42)){g=14;}else if(s===(43)){g=15;}else if(s===(63)){g=16;}t=$substring(i,1);u=d.repeat(g,0,0,r,t,h);t=u[0];e=u[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CG.nil,e];}j=r;i=t;$s=15;continue;case 12:g=17;v=i;w=d.parseRepeat(i);x=w[0];y=w[1];z=w[2];aa=w[3];if(!aa){d.literal(123);i=$substring(i,1);$s=3;continue;}if(x<0||x>1000||y>1000||y>=0&&x>y){$s=-1;return[CG.nil,new M.ptr("invalid repeat count",$substring(v,0,(v.length-z.length>>0)))];}ab=d.repeat(g,x,y,v,z,h);z=ab[0];e=ab[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CG.nil,e];}j=v;i=z;$s=15;continue;case 13:if(!((((d.flags&64)>>>0)===0))&&i.length>=2){ac=i.charCodeAt(1);if(ac===(65)){d.op(9);i=$substring(i,2);$s=3;continue s;}else if(ac===(98)){d.op(11);i=$substring(i,2);$s=3;continue s;}else if(ac===(66)){d.op(12);i=$substring(i,2);$s=3;continue s;}else if(ac===(67)){$s=-1;return[CG.nil,new M.ptr("invalid escape sequence",$substring(i,0,2))];}else if(ac===(81)){ad="";ae=D.Index(i,"\\E");if(ae<0){ad=$substring(i,2);i="";}else{ad=$substring(i,2,ae);i=$substring(i,(ae+2>>0));}while(true){if(!(!(ad===""))){break;}af=AO(ad);ag=af[0];ah=af[1];ai=af[2];if(!($interfaceIsEqual(ai,$ifaceNil))){$s=-1;return[CG.nil,ai];}d.literal(ag);ad=ah;}$s=3;continue s;}else if(ac===(122)){d.op(10);i=$substring(i,2);$s=3;continue s;}}aj=d.newRegexp(4);aj.Flags=d.flags;if(i.length>=2&&((i.charCodeAt(1)===112)||(i.charCodeAt(1)===80))){$s=19;continue;}$s=20;continue;case 19:al=d.parseUnicodeClass(i,$subslice(new CA(aj.Rune0),0,0));$s=21;case 21:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ak=al;am=ak[0];an=ak[1];ao=ak[2];if(!($interfaceIsEqual(ao,$ifaceNil))){$s=-1;return[CG.nil,ao];}if(!(am===CA.nil)){aj.Rune=am;i=an;d.push(aj);$s=3;continue s;}case 20:aq=d.parsePerlClassEscape(i,$subslice(new CA(aj.Rune0),0,0));$s=22;case 22:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;ar=ap[0];as=ap[1];if(!(ar===CA.nil)){aj.Rune=ar;i=as;d.push(aj);$s=3;continue s;}d.reuse(aj);at=d.parseEscape(i);f=at[0];i=at[1];e=at[2];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CG.nil,e];}d.literal(f);$s=15;continue;case 14:au=AO(i);f=au[0];i=au[1];e=au[2];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[CG.nil,e];}d.literal(f);case 15:case 3:h=j;$s=1;continue;case 2:av=d.concat();$s=23;case 23:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}av;aw=d.swapVerticalBar();$s=26;case 26:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}if(aw){$s=24;continue;}$s=25;continue;case 24:d.stack=$subslice(d.stack,0,(d.stack.$length-1>>0));case 25:ax=d.alternate();$s=27;case 27:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ax;ay=d.stack.$length;if(!((ay===1))){$s=-1;return[CG.nil,new M.ptr("missing closing )",a)];}$s=-1;return[(az=d.stack,(0>=az.$length?($throwRuntimeError("index out of range"),undefined):az.$array[az.$offset+0])),$ifaceNil];}return;}if($f===undefined){$f={$blk:U};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Parse=U;P.ptr.prototype.parseRepeat=function(a){var a,b,c,d,e,f,g,h,i;b=0;c=0;d="";e=false;f=this;if(a===""||!((a.charCodeAt(0)===123))){return[b,c,d,e];}a=$substring(a,1);g=false;h=f.parseInt(a);b=h[0];a=h[1];g=h[2];if(!g){return[b,c,d,e];}if(a===""){return[b,c,d,e];}if(!((a.charCodeAt(0)===44))){c=b;}else{a=$substring(a,1);if(a===""){return[b,c,d,e];}if(a.charCodeAt(0)===125){c=-1;}else{i=f.parseInt(a);c=i[0];a=i[1];g=i[2];if(!g){return[b,c,d,e];}else if(c<0){b=-1;}}}if(a===""||!((a.charCodeAt(0)===125))){return[b,c,d,e];}d=$substring(a,1);e=true;return[b,c,d,e];};P.prototype.parseRepeat=function(a){return this.$val.parseRepeat(a);};P.ptr.prototype.parsePerlFlags=function(a){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b="";c=$ifaceNil;d=this;e=a;if(e.length>4&&(e.charCodeAt(2)===80)&&(e.charCodeAt(3)===60)){f=D.IndexRune(e,62);if(f<0){c=AN(e);if(!($interfaceIsEqual(c,$ifaceNil))){g="";h=c;b=g;c=h;return[b,c];}i="";j=new M.ptr("invalid named capture",a);b=i;c=j;return[b,c];}k=$substring(e,0,(f+1>>0));l=$substring(e,4,f);c=AN(l);if(!($interfaceIsEqual(c,$ifaceNil))){m="";n=c;b=m;c=n;return[b,c];}if(!V(l)){o="";p=new M.ptr("invalid named capture",k);b=o;c=p;return[b,c];}d.numCap=d.numCap+(1)>>0;q=d.op(128);q.Cap=d.numCap;q.Name=l;r=$substring(e,(f+1>>0));s=$ifaceNil;b=r;c=s;return[b,c];}t=0;e=$substring(e,2);u=d.flags;v=1;w=false;Loop:while(true){if(!(!(e===""))){break;}x=AO(e);t=x[0];e=x[1];c=x[2];if(!($interfaceIsEqual(c,$ifaceNil))){y="";z=c;b=y;c=z;return[b,c];}aa=t;if(aa===(105)){u=(u|(1))>>>0;w=true;}else if(aa===(109)){u=(u&~(16))<<16>>>16;w=true;}else if(aa===(115)){u=(u|(8))>>>0;w=true;}else if(aa===(85)){u=(u|(32))>>>0;w=true;}else if(aa===(45)){if(v<0){break Loop;}v=-1;u=~u<<16>>>16;w=false;}else if((aa===(58))||(aa===(41))){if(v<0){if(!w){break Loop;}u=~u<<16>>>16;}if(t===58){d.op(128);}d.flags=u;ab=e;ac=$ifaceNil;b=ab;c=ac;return[b,c];}else{break Loop;}}ad="";ae=new M.ptr("invalid or unsupported Perl syntax",$substring(a,0,(a.length-e.length>>0)));b=ad;c=ae;return[b,c];};P.prototype.parsePerlFlags=function(a){return this.$val.parsePerlFlags(a);};V=function(a){var a,b,c,d,e;if(a===""){return false;}b=a;c=0;while(true){if(!(c=2&&(a.charCodeAt(0)===48)&&48<=a.charCodeAt(1)&&a.charCodeAt(1)<=57){return[b,c,d];}f=a;while(true){if(!(!(a==="")&&48<=a.charCodeAt(0)&&a.charCodeAt(0)<=57)){break;}a=$substring(a,1);}c=a;d=true;f=$substring(f,0,(f.length-a.length>>0));g=0;while(true){if(!(g=100000000){b=-1;break;}b=(($imul(b,10))+((f.charCodeAt(g)>>0))>>0)-48>>0;g=g+(1)>>0;}return[b,c,d];};P.prototype.parseInt=function(a){return this.$val.parseInt(a);};W=function(a){var a;return(a.Op===3)&&(a.Rune.$length===1)||(a.Op===4)||(a.Op===5)||(a.Op===6);};X=function(a,b){var a,b,c,d,e,f,g,h;c=a.Op;if(c===(3)){return(a.Rune.$length===1)&&((d=a.Rune,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]))===b);}else if(c===(4)){e=0;while(true){if(!(e=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]))<=b&&b<=(g=a.Rune,h=e+1>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]))){return true;}e=e+(2)>>0;}return false;}else if(c===(5)){return!((b===10));}else if(c===(6)){return true;}return false;};P.ptr.prototype.parseVerticalBar=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.concat();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}b;c=a.swapVerticalBar();$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}if(!c){$s=2;continue;}$s=3;continue;case 2:a.op(129);case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.parseVerticalBar};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.parseVerticalBar=function(){return this.$val.parseVerticalBar();};Y=function(a,b){var a,b,c,d,e,f,g,h;switch(0){default:c=a.Op;if(c===(6)){}else if(c===(5)){if(X(b,10)){a.Op=6;}}else if(c===(4)){if(b.Op===3){a.Rune=AD(a.Rune,(d=b.Rune,(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0])),b.Flags);}else{a.Rune=AG(a.Rune,b.Rune);}}else if(c===(3)){if(((e=b.Rune,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]))===(f=a.Rune,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0])))&&(b.Flags===a.Flags)){break;}a.Op=4;a.Rune=AD($subslice(a.Rune,0,0),(g=a.Rune,(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0])),a.Flags);a.Rune=AD(a.Rune,(h=b.Rune,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0])),b.Flags);}}};P.ptr.prototype.swapVerticalBar=function(){var a,aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.stack.$length;if(b>=3&&((c=a.stack,d=b-2>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).Op===129)&&W((e=a.stack,f=b-1>>0,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f])))&&W((g=a.stack,h=b-3>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h])))){k=(i=a.stack,j=b-1>>0,((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]));n=(l=a.stack,m=b-3>>0,((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]));if(k.Op>n.Op){o=n;p=k;k=o;n=p;(q=a.stack,r=b-3>>0,((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]=n));}Y(n,k);a.reuse(k);a.stack=$subslice(a.stack,0,(b-1>>0));$s=-1;return true;}if(b>=2){$s=1;continue;}$s=2;continue;case 1:u=(s=a.stack,t=b-1>>0,((t<0||t>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+t]));x=(v=a.stack,w=b-2>>0,((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w]));if(x.Op===129){$s=3;continue;}$s=4;continue;case 3:if(b>=3){$s=5;continue;}$s=6;continue;case 5:$r=S((y=a.stack,z=b-3>>0,((z<0||z>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+z])));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:(aa=a.stack,ab=b-2>>0,((ab<0||ab>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+ab]=u));(ac=a.stack,ad=b-1>>0,((ad<0||ad>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+ad]=x));$s=-1;return true;case 4:case 2:$s=-1;return false;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.swapVerticalBar};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.swapVerticalBar=function(){return this.$val.swapVerticalBar();};P.ptr.prototype.parseRightParen=function(){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.concat();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}b;c=a.swapVerticalBar();$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}if(c){$s=2;continue;}$s=3;continue;case 2:a.stack=$subslice(a.stack,0,(a.stack.$length-1>>0));case 3:d=a.alternate();$s=5;case 5:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d;e=a.stack.$length;if(e<2){$s=-1;return new M.ptr("unexpected )",a.wholeRegexp);}h=(f=a.stack,g=e-1>>0,((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]));k=(i=a.stack,j=e-2>>0,((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]));a.stack=$subslice(a.stack,0,(e-2>>0));if(!((k.Op===128))){$s=-1;return new M.ptr("unexpected )",a.wholeRegexp);}a.flags=k.Flags;if(k.Cap===0){a.push(h);}else{k.Op=13;k.Sub=$subslice(new CH(k.Sub0),0,1);(l=k.Sub,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0]=h));a.push(k);}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.parseRightParen};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.parseRightParen=function(){return this.$val.parseRightParen();};P.ptr.prototype.parseEscape=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c="";d=$ifaceNil;e=this;f=$substring(a,1);if(f===""){g=0;h="";i=new M.ptr("trailing backslash at end of expression","");b=g;c=h;d=i;return[b,c,d];}j=AO(f);k=j[0];f=j[1];d=j[2];if(!($interfaceIsEqual(d,$ifaceNil))){l=0;m="";n=d;b=l;c=m;d=n;return[b,c,d];}Switch:switch(0){default:o=k;if((o===(49))||(o===(50))||(o===(51))||(o===(52))||(o===(53))||(o===(54))||(o===(55))){if(f===""||f.charCodeAt(0)<48||f.charCodeAt(0)>55){break;}b=k-48>>0;p=1;while(true){if(!(p<3)){break;}if(f===""||f.charCodeAt(0)<48||f.charCodeAt(0)>55){break;}b=(($imul(b,8))+((f.charCodeAt(0)>>0))>>0)-48>>0;f=$substring(f,1);p=p+(1)>>0;}q=b;r=f;s=$ifaceNil;b=q;c=r;d=s;return[b,c,d];}else if(o===(48)){b=k-48>>0;p=1;while(true){if(!(p<3)){break;}if(f===""||f.charCodeAt(0)<48||f.charCodeAt(0)>55){break;}b=(($imul(b,8))+((f.charCodeAt(0)>>0))>>0)-48>>0;f=$substring(f,1);p=p+(1)>>0;}t=b;u=f;v=$ifaceNil;b=t;c=u;d=v;return[b,c,d];}else if(o===(120)){if(f===""){break;}w=AO(f);k=w[0];f=w[1];d=w[2];if(!($interfaceIsEqual(d,$ifaceNil))){x=0;y="";z=d;b=x;c=y;d=z;return[b,c,d];}if(k===123){aa=0;b=0;while(true){if(f===""){break Switch;}ab=AO(f);k=ab[0];f=ab[1];d=ab[2];if(!($interfaceIsEqual(d,$ifaceNil))){ac=0;ad="";ae=d;b=ac;c=ad;d=ae;return[b,c,d];}if(k===125){break;}af=AQ(k);if(af<0){break Switch;}b=($imul(b,16))+af>>0;if(b>1114111){break Switch;}aa=aa+(1)>>0;}if(aa===0){break Switch;}ag=b;ah=f;ai=$ifaceNil;b=ag;c=ah;d=ai;return[b,c,d];}aj=AQ(k);ak=AO(f);k=ak[0];f=ak[1];d=ak[2];if(!($interfaceIsEqual(d,$ifaceNil))){al=0;am="";an=d;b=al;c=am;d=an;return[b,c,d];}ao=AQ(k);if(aj<0||ao<0){break;}ap=($imul(aj,16))+ao>>0;aq=f;ar=$ifaceNil;b=ap;c=aq;d=ar;return[b,c,d];}else if(o===(97)){as=7;at=f;au=d;b=as;c=at;d=au;return[b,c,d];}else if(o===(102)){av=12;aw=f;ax=d;b=av;c=aw;d=ax;return[b,c,d];}else if(o===(110)){ay=10;az=f;ba=d;b=ay;c=az;d=ba;return[b,c,d];}else if(o===(114)){bb=13;bc=f;bd=d;b=bb;c=bc;d=bd;return[b,c,d];}else if(o===(116)){be=9;bf=f;bg=d;b=be;c=bf;d=bg;return[b,c,d];}else if(o===(118)){bh=11;bi=f;bj=d;b=bh;c=bi;d=bj;return[b,c,d];}else if(k<128&&!AP(k)){bk=k;bl=f;bm=$ifaceNil;b=bk;c=bl;d=bm;return[b,c,d];}}bn=0;bo="";bp=new M.ptr("invalid escape sequence",$substring(a,0,(a.length-f.length>>0)));b=bn;c=bo;d=bp;return[b,c,d];};P.prototype.parseEscape=function(a){return this.$val.parseEscape(a);};P.ptr.prototype.parseClassChar=function(a,b){var a,b,c,d,e,f,g,h,i,j,k;c=0;d="";e=$ifaceNil;f=this;if(a===""){g=0;h="";i=new M.ptr("missing closing ]",b);c=g;d=h;e=i;return[c,d,e];}if(a.charCodeAt(0)===92){j=f.parseEscape(a);c=j[0];d=j[1];e=j[2];return[c,d,e];}k=AO(a);c=k[0];d=k[1];e=k[2];return[c,d,e];};P.prototype.parseClassChar=function(a,b){return this.$val.parseClassChar(a,b);};P.ptr.prototype.parsePerlClassEscape=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=CA.nil;d="";e=this;if((((e.flags&64)>>>0)===0)||a.length<2||!((a.charCodeAt(0)===92))){$s=-1;return[c,d];}g=$clone((f=AU[$String.keyFor($substring(a,0,2))],f!==undefined?f.v:new Z.ptr(0,CA.nil)),Z);if(g.sign===0){$s=-1;return[c,d];}i=e.appendGroup(b,$clone(g,Z));$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=$substring(a,2);c=h;d=j;$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.parsePerlClassEscape};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.parsePerlClassEscape=function(a,b){return this.$val.parsePerlClassEscape(a,b);};P.ptr.prototype.parseNamedClass=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=CA.nil;d="";e=$ifaceNil;f=this;if(a.length<2||!((a.charCodeAt(0)===91))||!((a.charCodeAt(1)===58))){$s=-1;return[c,d,e];}g=D.Index($substring(a,2),":]");if(g<0){$s=-1;return[c,d,e];}g=g+(2)>>0;h=$substring(a,0,(g+2>>0));i=$substring(a,(g+2>>0));j=h;a=i;l=$clone((k=BJ[$String.keyFor(j)],k!==undefined?k.v:new Z.ptr(0,CA.nil)),Z);if(l.sign===0){m=CA.nil;n="";o=new M.ptr("invalid character class range",j);c=m;d=n;e=o;$s=-1;return[c,d,e];}q=f.appendGroup(b,$clone(l,Z));$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=a;s=$ifaceNil;c=p;d=r;e=s;$s=-1;return[c,d,e];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.parseNamedClass};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.parseNamedClass=function(a,b){return this.$val.parseNamedClass(a,b);};P.ptr.prototype.appendGroup=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(((c.flags&1)>>>0)===0){$s=1;continue;}$s=2;continue;case 1:if(b.sign<0){a=AI(a,b.class$1);}else{a=AG(a,b.class$1);}$s=3;continue;case 2:d=$subslice(c.tmpClass,0,0);d=AH(d,b.class$1);c.tmpClass=d;e=AC((c.$ptr_tmpClass||(c.$ptr_tmpClass=new CK(function(){return this.$target.tmpClass;},function($v){this.$target.tmpClass=$v;},c))));$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;if(b.sign<0){a=AI(a,d);}else{a=AG(a,d);}case 3:$s=-1;return a;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.appendGroup};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.appendGroup=function(a,b){return this.$val.appendGroup(a,b);};AB=function(a){var a,b,c,d,e,f,g;if(a==="Any"){return[AA,AA];}c=(b=A.Categories[$String.keyFor(a)],b!==undefined?b.v:CL.nil);if(!(c===CL.nil)){return[c,(d=A.FoldCategory[$String.keyFor(a)],d!==undefined?d.v:CL.nil)];}f=(e=A.Scripts[$String.keyFor(a)],e!==undefined?e.v:CL.nil);if(!(f===CL.nil)){return[f,(g=A.FoldScript[$String.keyFor(a)],g!==undefined?g.v:CL.nil)];}return[CL.nil,CL.nil];};P.ptr.prototype.parseUnicodeClass=function(a,b){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=CA.nil;d="";e=$ifaceNil;f=this;if((((f.flags&128)>>>0)===0)||a.length<2||!((a.charCodeAt(0)===92))||!((a.charCodeAt(1)===112))&&!((a.charCodeAt(1)===80))){$s=-1;return[c,d,e];}g=1;if(a.charCodeAt(1)===80){g=-1;}h=$substring(a,2);i=AO(h);j=i[0];h=i[1];e=i[2];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[c,d,e];}k="";l="";m=k;n=l;if(!((j===123))){m=$substring(a,0,(a.length-h.length>>0));n=$substring(m,2);}else{o=D.IndexRune(a,125);if(o<0){e=AN(a);if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[c,d,e];}p=CA.nil;q="";r=new M.ptr("invalid character class range",a);c=p;d=q;e=r;$s=-1;return[c,d,e];}s=$substring(a,0,(o+1>>0));t=$substring(a,(o+1>>0));m=s;h=t;n=$substring(a,3,o);e=AN(n);if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return[c,d,e];}}if(!(n==="")&&(n.charCodeAt(0)===94)){g=-g;n=$substring(n,1);}u=AB(n);v=u[0];w=u[1];if(v===CL.nil){x=CA.nil;y="";z=new M.ptr("invalid character class range",m);c=x;d=y;e=z;$s=-1;return[c,d,e];}if((((f.flags&1)>>>0)===0)||w===CL.nil){$s=1;continue;}$s=2;continue;case 1:if(g>0){b=AJ(b,v);}else{b=AK(b,v);}$s=3;continue;case 2:aa=$subslice(f.tmpClass,0,0);aa=AJ(aa,v);aa=AJ(aa,w);f.tmpClass=aa;ab=AC((f.$ptr_tmpClass||(f.$ptr_tmpClass=new CK(function(){return this.$target.tmpClass;},function($v){this.$target.tmpClass=$v;},f))));$s=4;case 4:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;if(g>0){b=AG(b,aa);}else{b=AI(b,aa);}case 3:ac=b;ad=h;ae=$ifaceNil;c=ac;d=ad;e=ae;$s=-1;return[c,d,e];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.parseUnicodeClass};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.parseUnicodeClass=function(a,b){return this.$val.parseUnicodeClass(a,b);};P.ptr.prototype.parseClass=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b="";c=$ifaceNil;d=this;e=$substring(a,1);f=d.newRegexp(4);f.Flags=d.flags;f.Rune=$subslice(new CA(f.Rune0),0,0);g=1;if(!(e==="")&&(e.charCodeAt(0)===94)){g=-1;e=$substring(e,1);if(((d.flags&4)>>>0)===0){f.Rune=$append(f.Rune,10,10);}}h=f.Rune;i=true;case 1:if(!(e===""||!((e.charCodeAt(0)===93))||i)){$s=2;continue;}if(!(e==="")&&(e.charCodeAt(0)===45)&&(((d.flags&64)>>>0)===0)&&!i&&((e.length===1)||!((e.charCodeAt(1)===93)))){j=E.DecodeRuneInString($substring(e,1));k=j[1];l="";m=new M.ptr("invalid character class range",$substring(e,0,(1+k>>0)));b=l;c=m;$s=-1;return[b,c];}i=false;if(e.length>2&&(e.charCodeAt(0)===91)&&(e.charCodeAt(1)===58)){$s=3;continue;}$s=4;continue;case 3:o=d.parseNamedClass(e,h);$s=5;case 5:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];r=n[2];if(!($interfaceIsEqual(r,$ifaceNil))){s="";t=r;b=s;c=t;$s=-1;return[b,c];}if(!(p===CA.nil)){u=p;v=q;h=u;e=v;$s=1;continue;}case 4:x=d.parseUnicodeClass(e,h);$s=6;case 6:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;y=w[0];z=w[1];aa=w[2];if(!($interfaceIsEqual(aa,$ifaceNil))){ab="";ac=aa;b=ab;c=ac;$s=-1;return[b,c];}if(!(y===CA.nil)){$s=7;continue;}$s=8;continue;case 7:ad=y;ae=z;h=ad;e=ae;$s=1;continue;case 8:ag=d.parsePerlClassEscape(e,h);$s=9;case 9:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;ah=af[0];ai=af[1];if(!(ah===CA.nil)){aj=ah;ak=ai;h=aj;e=ak;$s=1;continue;}al=e;am=0;an=0;ao=am;ap=an;aq=d.parseClassChar(e,a);ao=aq[0];e=aq[1];aa=aq[2];if(!($interfaceIsEqual(aa,$ifaceNil))){ar="";as=aa;b=ar;c=as;$s=-1;return[b,c];}ap=ao;if(e.length>=2&&(e.charCodeAt(0)===45)&&!((e.charCodeAt(1)===93))){e=$substring(e,1);at=d.parseClassChar(e,a);ap=at[0];e=at[1];aa=at[2];if(!($interfaceIsEqual(aa,$ifaceNil))){au="";av=aa;b=au;c=av;$s=-1;return[b,c];}if(ap>0));aw="";ax=new M.ptr("invalid character class range",al);b=aw;c=ax;$s=-1;return[b,c];}}if(((d.flags&1)>>>0)===0){h=AE(h,ao,ap);}else{h=AF(h,ao,ap);}$s=1;continue;case 2:e=$substring(e,1);f.Rune=h;ay=AC((f.$ptr_Rune||(f.$ptr_Rune=new CK(function(){return this.$target.Rune;},function($v){this.$target.Rune=$v;},f))));$s=10;case 10:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}h=ay;if(g<0){h=AL(h);}f.Rune=h;d.push(f);az=e;ba=$ifaceNil;b=az;c=ba;$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.parseClass};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.parseClass=function(a){return this.$val.parseClass(a);};AC=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.Sort((b=new AM.ptr(a),new b.constructor.elem(b)));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=a.$get();if(c.$length<2){$s=-1;return c;}d=2;e=2;while(true){if(!(e=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+e]);g=(h=e+1>>0,((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]));i=f;j=g;if(i<=((k=d-1>>0,((k<0||k>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+k]))+1>>0)){if(j>(l=d-1>>0,((l<0||l>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+l]))){(m=d-1>>0,((m<0||m>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+m]=j));}e=e+(2)>>0;continue;}((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=i);(n=d+1>>0,((n<0||n>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+n]=j));d=d+(2)>>0;e=e+(2)>>0;}$s=-1;return $subslice(c,0,d);}return;}if($f===undefined){$f={$blk:AC};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AD=function(a,b,c){var a,b,c;if(!((((c&1)>>>0)===0))){return AF(a,b,b);}return AE(a,b,b);};AE=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m;d=a.$length;e=2;while(true){if(!(e<=4)){break;}if(d>=e){f=(g=d-e>>0,((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]));h=(i=(d-e>>0)+1>>0,((i<0||i>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+i]));j=f;k=h;if(b<=(k+1>>0)&&j<=(c+1>>0)){if(b>0,((l<0||l>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+l]=b));}if(c>k){(m=(d-e>>0)+1>>0,((m<0||m>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+m]=c));}return a;}}e=e+(2)>>0;}return $append(a,b,c);};AF=function(a,b,c){var a,b,c,d,e;if(b<=65&&c>=125251){return AE(a,b,c);}if(c<65||b>125251){return AE(a,b,c);}if(b<65){a=AE(a,b,64);b=65;}if(c>125251){a=AE(a,125252,c);c=125251;}d=b;while(true){if(!(d<=c)){break;}a=AE(a,d,d);e=A.SimpleFold(d);while(true){if(!(!((e===d)))){break;}a=AE(a,e,e);e=A.SimpleFold(e);}d=d+(1)>>0;}return a;};AG=function(a,b){var a,b,c,d;c=0;while(true){if(!(c=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]),(d=c+1>>0,((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d])));c=c+(2)>>0;}return a;};AH=function(a,b){var a,b,c,d;c=0;while(true){if(!(c=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]),(d=c+1>>0,((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d])));c=c+(2)>>0;}return a;};AI=function(a,b){var a,b,c,d,e,f,g,h,i;c=0;d=0;while(true){if(!(d=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d]);f=(g=d+1>>0,((g<0||g>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+g]));h=e;i=f;if(c<=(h-1>>0)){a=AE(a,c,h-1>>0);}c=i+1>>0;d=d+(2)>>0;}if(c<=1114111){a=AE(a,c,1114111);}return a;};AJ=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;c=b.R16;d=0;while(true){if(!(d=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),A.Range16);f=((e.Lo>>0));g=((e.Hi>>0));h=((e.Stride>>0));i=f;j=g;k=h;if(k===1){a=AE(a,i,j);d++;continue;}l=i;while(true){if(!(l<=j)){break;}a=AE(a,l,l);l=l+(k)>>0;}d++;}m=b.R32;n=0;while(true){if(!(n=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]),A.Range32);p=((o.Lo>>0));q=((o.Hi>>0));r=((o.Stride>>0));s=p;t=q;u=r;if(u===1){a=AE(a,s,t);n++;continue;}v=s;while(true){if(!(v<=t)){break;}a=AE(a,v,v);v=v+(u)>>0;}n++;}return a;};AK=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;c=0;d=b.R16;e=0;while(true){if(!(e=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]),A.Range16);g=((f.Lo>>0));h=((f.Hi>>0));i=((f.Stride>>0));j=g;k=h;l=i;if(l===1){if(c<=(j-1>>0)){a=AE(a,c,j-1>>0);}c=k+1>>0;e++;continue;}m=j;while(true){if(!(m<=k)){break;}if(c<=(m-1>>0)){a=AE(a,c,m-1>>0);}c=m+1>>0;m=m+(l)>>0;}e++;}n=b.R32;o=0;while(true){if(!(o=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]),A.Range32);q=((p.Lo>>0));r=((p.Hi>>0));s=((p.Stride>>0));t=q;u=r;v=s;if(v===1){if(c<=(t-1>>0)){a=AE(a,c,t-1>>0);}c=u+1>>0;o++;continue;}w=t;while(true){if(!(w<=u)){break;}if(c<=(w-1>>0)){a=AE(a,c,w-1>>0);}c=w+1>>0;w=w+(v)>>0;}o++;}if(c<=1114111){a=AE(a,c,1114111);}return a;};AL=function(a){var a,b,c,d,e,f,g,h,i,j;b=0;c=0;d=0;while(true){if(!(d=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d]);f=(g=d+1>>0,((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]));h=e;i=f;if(b<=(h-1>>0)){((c<0||c>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+c]=b);(j=c+1>>0,((j<0||j>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+j]=(h-1>>0)));c=c+(2)>>0;}b=i+1>>0;d=d+(2)>>0;}a=$subslice(a,0,c);if(b<=1114111){a=$append(a,b,1114111);}return a;};AM.ptr.prototype.Less=function(a,b){var a,b,c,d,e,f;c=this;d=c.p.$get();a=$imul(a,(2));b=$imul(b,(2));return((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a])<((b<0||b>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+b])||(((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a])===((b<0||b>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+b]))&&(e=a+1>>0,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]))>(f=b+1>>0,((f<0||f>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+f]));};AM.prototype.Less=function(a,b){return this.$val.Less(a,b);};AM.ptr.prototype.Len=function(){var a,b;a=this;return(b=a.p.$get().$length/2,(b===b&&b!==1/0&&b!==-1/0)?b>>0:$throwRuntimeError("integer divide by zero"));};AM.prototype.Len=function(){return this.$val.Len();};AM.ptr.prototype.Swap=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l;c=this;d=c.p.$get();a=$imul(a,(2));b=$imul(b,(2));e=((b<0||b>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+b]);f=(g=b+1>>0,((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]));h=((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a]);i=(j=a+1>>0,((j<0||j>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+j]));((a<0||a>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+a]=e);(k=a+1>>0,((k<0||k>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+k]=f));((b<0||b>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+b]=h);(l=b+1>>0,((l<0||l>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+l]=i));};AM.prototype.Swap=function(a,b){return this.$val.Swap(a,b);};AN=function(a){var a,b,c,d;while(true){if(!(!(a===""))){break;}b=E.DecodeRuneInString(a);c=b[0];d=b[1];if((c===65533)&&(d===1)){return new M.ptr("invalid UTF-8",a);}a=$substring(a,d);}return $ifaceNil;};AO=function(a){var a,b,c,d,e,f,g,h,i,j,k,l;b=0;c="";d=$ifaceNil;e=E.DecodeRuneInString(a);b=e[0];f=e[1];if((b===65533)&&(f===1)){g=0;h="";i=new M.ptr("invalid UTF-8",a);b=g;c=h;d=i;return[b,c,d];}j=b;k=$substring(a,f);l=$ifaceNil;b=j;c=k;d=l;return[b,c,d];};AP=function(a){var a;return 48<=a&&a<=57||65<=a&&a<=90||97<=a&&a<=122;};AQ=function(a){var a;if(48<=a&&a<=57){return a-48>>0;}if(97<=a&&a<=102){return(a-97>>0)+10>>0;}if(65<=a&&a<=70){return(a-65>>0)+10>>0;}return-1;};BL.prototype.String=function(){var a;a=this.$val;if(((a>>>0))>=((BM.$length>>>0))){return"";}return((a<0||a>=BM.$length)?($throwRuntimeError("index out of range"),undefined):BM.$array[BM.$offset+a]);};$ptrType(BL).prototype.String=function(){return new BL(this.$get()).String();};BP=function(a){var a;return 65<=a&&a<=90||97<=a&&a<=122||48<=a&&a<=57||(a===95);};$pkg.IsWordChar=BP;BK.ptr.prototype.String=function(){var a,b;a=this;b=new D.Builder.ptr(CM.nil,CN.nil);BS(b,a);return b.String();};BK.prototype.String=function(){return this.$val.String();};BK.ptr.prototype.skipNop=function(a){var a,b,c,d,e,f;b=this;d=(c=b.Inst,((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]));while(true){if(!((d.Op===6)||(d.Op===2))){break;}d=(e=b.Inst,f=d.Out,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));}return d;};BK.prototype.skipNop=function(a){return this.$val.skipNop(a);};BQ.ptr.prototype.op=function(){var a,b,c;a=this;b=a.Op;c=b;if((c===(8))||(c===(9))||(c===(10))){b=7;}return b;};BQ.prototype.op=function(){return this.$val.op();};BK.ptr.prototype.Prefix=function(){var a,b,c,d,e,f,g,h,i,j;a="";b=false;c=this;d=c.skipNop(((c.Start>>>0)));if(!((d.op()===7))||!((d.Rune.$length===1))){e="";f=d.Op===4;a=e;b=f;return[a,b];}g=new D.Builder.ptr(CM.nil,CN.nil);while(true){if(!((d.op()===7)&&(d.Rune.$length===1)&&(((((d.Arg<<16>>>16))&1)>>>0)===0))){break;}g.WriteRune((h=d.Rune,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0])));d=c.skipNop(d.Out);}i=g.String();j=d.Op===4;a=i;b=j;return[a,b];};BK.prototype.Prefix=function(){return this.$val.Prefix();};BK.ptr.prototype.StartCond=function(){var a,b,c,d,e,f,g;a=this;b=0;c=((a.Start>>>0));e=(d=a.Inst,((c<0||c>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+c]));Loop:while(true){f=e.Op;if(f===(3)){b=(b|(((e.Arg<<24>>>24))))>>>0;}else if(f===(5)){return 255;}else if((f===(2))||(f===(6))){}else{break Loop;}c=e.Out;e=(g=a.Inst,((c<0||c>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+c]));}return b;};BK.prototype.StartCond=function(){return this.$val.StartCond();};BQ.ptr.prototype.MatchRune=function(a){var a,b;b=this;return!((b.MatchRunePos(a)===-1));};BQ.prototype.MatchRune=function(a){return this.$val.MatchRune(a);};BQ.ptr.prototype.MatchRunePos=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;b=this;c=b.Rune;d=c.$length;if(d===(0)){return-1;}else if(d===(1)){e=(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0]);if(a===e){return 0;}if(!((((((b.Arg<<16>>>16))&1)>>>0)===0))){f=A.SimpleFold(e);while(true){if(!(!((f===e)))){break;}if(a===f){return 0;}f=A.SimpleFold(f);}}return-1;}else if(d===(2)){if(a>=(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])&&a<=(1>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+1])){return 0;}return-1;}else if((d===(4))||(d===(6))||(d===(8))){g=0;while(true){if(!(g=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+g])){return-1;}if(a<=(h=g+1>>0,((h<0||h>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+h]))){return(i=g/2,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero"));}g=g+(2)>>0;}return-1;}j=0;l=(k=c.$length/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"));while(true){if(!(j>0))/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))>>0;p=(o=$imul(2,n),((o<0||o>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+o]));if(p<=a){if(a<=(q=($imul(2,n))+1>>0,((q<0||q>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+q]))){return n;}j=n+1>>0;}else{l=n;}}return-1;};BQ.prototype.MatchRunePos=function(a){return this.$val.MatchRunePos(a);};BQ.ptr.prototype.MatchEmptyWidth=function(a,b){var a,b,c,d;c=this;d=((c.Arg<<24>>>24));if(d===(1)){return(a===10)||(a===-1);}else if(d===(2)){return(b===10)||(b===-1);}else if(d===(4)){return a===-1;}else if(d===(8)){return b===-1;}else if(d===(16)){return!(BP(a)===BP(b));}else if(d===(32)){return BP(a)===BP(b);}$panic(new $String("unknown empty width arg"));};BQ.prototype.MatchEmptyWidth=function(a,b){return this.$val.MatchEmptyWidth(a,b);};BQ.ptr.prototype.String=function(){var a,b;a=this;b=new D.Builder.ptr(CM.nil,CN.nil);BU(b,a);return b.String();};BQ.prototype.String=function(){return this.$val.String();};BR=function(a,b){var a,b,c,d,e;c=b;d=0;while(true){if(!(d=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);a.WriteString(e);d++;}};BS=function(a,b){var a,b,c,d,e,f,g,h;c=b.Inst;d=0;while(true){if(!(d=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]));h=B.Itoa(e);if(h.length<3){a.WriteString($substring(" ",h.length));}if(e===b.Start){h=h+("*");}BR(a,new CD([h,"\t"]));BU(a,g);BR(a,new CD(["\n"]));d++;}};BT=function(a){var a;return B.FormatUint((new $Uint64(0,a)),10);};BU=function(a,b){var a,b,c;c=b.Op;if(c===(0)){BR(a,new CD(["alt -> ",BT(b.Out),", ",BT(b.Arg)]));}else if(c===(1)){BR(a,new CD(["altmatch -> ",BT(b.Out),", ",BT(b.Arg)]));}else if(c===(2)){BR(a,new CD(["cap ",BT(b.Arg)," -> ",BT(b.Out)]));}else if(c===(3)){BR(a,new CD(["empty ",BT(b.Arg)," -> ",BT(b.Out)]));}else if(c===(4)){BR(a,new CD(["match"]));}else if(c===(5)){BR(a,new CD(["fail"]));}else if(c===(6)){BR(a,new CD(["nop -> ",BT(b.Out)]));}else if(c===(7)){if(b.Rune===CA.nil){BR(a,new CD(["rune "]));}BR(a,new CD(["rune ",B.QuoteToASCII(($runesToString(b.Rune)))]));if(!((((((b.Arg<<16>>>16))&1)>>>0)===0))){BR(a,new CD(["/i"]));}BR(a,new CD([" -> ",BT(b.Out)]));}else if(c===(8)){BR(a,new CD(["rune1 ",B.QuoteToASCII(($runesToString(b.Rune)))," -> ",BT(b.Out)]));}else if(c===(9)){BR(a,new CD(["any -> ",BT(b.Out)]));}else if(c===(10)){BR(a,new CD(["anynotnl -> ",BT(b.Out)]));}};BV.ptr.prototype.Equal=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;b=this;if(b===CG.nil||a===CG.nil){return b===a;}if(!((b.Op===a.Op))){return false;}c=b.Op;if(c===(10)){if(!((((b.Flags&256)>>>0)===((a.Flags&256)>>>0)))){return false;}}else if((c===(3))||(c===(4))){if(!((b.Rune.$length===a.Rune.$length))){return false;}d=b.Rune;e=0;while(true){if(!(e=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(!((g===(h=a.Rune,((f<0||f>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+f]))))){return false;}e++;}}else if((c===(19))||(c===(18))){if(!((b.Sub.$length===a.Sub.$length))){return false;}i=b.Sub;j=0;while(true){if(!(j=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);if(!l.Equal((m=a.Sub,((k<0||k>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+k])))){return false;}j++;}}else if((c===(14))||(c===(15))||(c===(16))){if(!((((b.Flags&32)>>>0)===((a.Flags&32)>>>0)))||!(n=b.Sub,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0])).Equal((o=a.Sub,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])))){return false;}}else if(c===(17)){if(!((((b.Flags&32)>>>0)===((a.Flags&32)>>>0)))||!((b.Min===a.Min))||!((b.Max===a.Max))||!(p=b.Sub,(0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0])).Equal((q=a.Sub,(0>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+0])))){return false;}}else if(c===(13)){if(!((b.Cap===a.Cap))||!(b.Name===a.Name)||!(r=b.Sub,(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0])).Equal((s=a.Sub,(0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0])))){return false;}}return true;};BV.prototype.Equal=function(a){return this.$val.Equal(a);};BX=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;switch(0){default:c=b.Op;if(c===(1)){a.WriteString("[^\\x00-\\x{10FFFF}]");}else if(c===(2)){a.WriteString("(?:)");}else if(c===(3)){if(!((((b.Flags&1)>>>0)===0))){a.WriteString("(?i:");}d=b.Rune;e=0;while(true){if(!(e=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);BY(a,f,false);e++;}if(!((((b.Flags&1)>>>0)===0))){a.WriteString(")");}}else if(c===(4)){if(!(((g=b.Rune.$length%2,g===g?g:$throwRuntimeError("integer divide by zero"))===0))){a.WriteString("[invalid char class]");break;}a.WriteRune(91);if(b.Rune.$length===0){a.WriteString("^\\x00-\\x{10FFFF}");}else if(((h=b.Rune,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))===0)&&((i=b.Rune,j=b.Rune.$length-1>>0,((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]))===1114111)){a.WriteRune(94);k=1;while(true){if(!(k<(b.Rune.$length-1>>0))){break;}l=(m=b.Rune,((k<0||k>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+k]))+1>>0;n=(o=b.Rune,p=k+1>>0,((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]))-1>>0;q=l;r=n;BY(a,q,q===45);if(!((q===r))){a.WriteRune(45);BY(a,r,r===45);}k=k+(2)>>0;}}else{s=0;while(true){if(!(s=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+s]));v=(w=b.Rune,x=s+1>>0,((x<0||x>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+x]));y=t;z=v;BY(a,y,y===45);if(!((y===z))){a.WriteRune(45);BY(a,z,z===45);}s=s+(2)>>0;}}a.WriteRune(93);}else if(c===(5)){a.WriteString("(?-s:.)");}else if(c===(6)){a.WriteString("(?s:.)");}else if(c===(7)){a.WriteString("(?m:^)");}else if(c===(8)){a.WriteString("(?m:$)");}else if(c===(9)){a.WriteString("\\A");}else if(c===(10)){if(!((((b.Flags&256)>>>0)===0))){a.WriteString("(?-m:$)");}else{a.WriteString("\\z");}}else if(c===(11)){a.WriteString("\\b");}else if(c===(12)){a.WriteString("\\B");}else if(c===(13)){if(!(b.Name==="")){a.WriteString("(?P<");a.WriteString(b.Name);a.WriteRune(62);}else{a.WriteRune(40);}if(!(((aa=b.Sub,(0>=aa.$length?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+0])).Op===2))){BX(a,(ab=b.Sub,(0>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0])));}a.WriteRune(41);}else if((c===(14))||(c===(15))||(c===(16))||(c===(17))){ad=(ac=b.Sub,(0>=ac.$length?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+0]));if(ad.Op>13||(ad.Op===3)&&ad.Rune.$length>1){a.WriteString("(?:");BX(a,ad);a.WriteString(")");}else{BX(a,ad);}ae=b.Op;if(ae===(14)){a.WriteRune(42);}else if(ae===(15)){a.WriteRune(43);}else if(ae===(16)){a.WriteRune(63);}else if(ae===(17)){a.WriteRune(123);a.WriteString(B.Itoa(b.Min));if(!((b.Max===b.Min))){a.WriteRune(44);if(b.Max>=0){a.WriteString(B.Itoa(b.Max));}}a.WriteRune(125);}if(!((((b.Flags&32)>>>0)===0))){a.WriteRune(63);}}else if(c===(18)){af=b.Sub;ag=0;while(true){if(!(ag=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+ag]);if(ah.Op===19){a.WriteString("(?:");BX(a,ah);a.WriteString(")");}else{BX(a,ah);}ag++;}}else if(c===(19)){ai=b.Sub;aj=0;while(true){if(!(aj=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+aj]);if(ak>0){a.WriteRune(124);}BX(a,al);aj++;}}else{a.WriteString(">0)))+">");}}};BV.ptr.prototype.String=function(){var a,b;a=this;b=new D.Builder.ptr(CM.nil,CN.nil);BX(b,a);return b.String();};BV.prototype.String=function(){return this.$val.String();};BY=function(a,b,c){var a,b,c,d,e;if(A.IsPrint(b)){if(D.ContainsRune("\\.+*?()|[]{}^$",b)||c){a.WriteRune(92);}a.WriteRune(b);return;}switch(0){default:d=b;if(d===(7)){a.WriteString("\\a");}else if(d===(12)){a.WriteString("\\f");}else if(d===(10)){a.WriteString("\\n");}else if(d===(13)){a.WriteString("\\r");}else if(d===(9)){a.WriteString("\\t");}else if(d===(11)){a.WriteString("\\v");}else{if(b<256){a.WriteString("\\x");e=B.FormatInt((new $Int64(0,b)),16);if(e.length===1){a.WriteRune(48);}a.WriteString(e);break;}a.WriteString("\\x{");a.WriteString(B.FormatInt((new $Int64(0,b)),16));a.WriteString("}");}}};BV.ptr.prototype.MaxCap=function(){var a,b,c,d,e,f;a=this;b=0;if(a.Op===13){b=a.Cap;}c=a.Sub;d=0;while(true){if(!(d=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);f=e.MaxCap();if(b>0));a.capNames(b);return b;};BV.prototype.CapNames=function(){return this.$val.CapNames();};BV.ptr.prototype.capNames=function(a){var a,b,c,d,e,f;b=this;if(b.Op===13){(c=b.Cap,((c<0||c>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+c]=b.Name));}d=b.Sub;e=0;while(true){if(!(e=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);f.capNames(a);e++;}};BV.prototype.capNames=function(a){return this.$val.capNames(a);};BV.ptr.prototype.Simplify=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;a=this;if(a===CG.nil){return CG.nil;}b=a.Op;if((b===(13))||(b===(18))||(b===(19))){c=a;d=a.Sub;e=0;while(true){if(!(e=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);h=g.Simplify();if(c===a&&!(h===g)){c=new BV.ptr(0,0,CH.nil,CI.zero(),CA.nil,CJ.zero(),0,0,0,"");BV.copy(c,a);c.Rune=CA.nil;c.Sub=$appendSlice($subslice(new CH(c.Sub0),0,0),$subslice(a.Sub,0,f));}if(!(c===a)){c.Sub=$append(c.Sub,h);}e++;}return c;}else if((b===(14))||(b===(15))||(b===(16))){j=(i=a.Sub,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0])).Simplify();return BZ(a.Op,a.Flags,j,a);}else if(b===(17)){if((a.Min===0)&&(a.Max===0)){return new BV.ptr(2,0,CH.nil,CI.zero(),CA.nil,CJ.zero(),0,0,0,"");}l=(k=a.Sub,(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0])).Simplify();if(a.Max===-1){if(a.Min===0){return BZ(14,a.Flags,l,CG.nil);}if(a.Min===1){return BZ(15,a.Flags,l,CG.nil);}m=new BV.ptr(18,0,CH.nil,CI.zero(),CA.nil,CJ.zero(),0,0,0,"");m.Sub=$subslice(new CH(m.Sub0),0,0);n=0;while(true){if(!(n<(a.Min-1>>0))){break;}m.Sub=$append(m.Sub,l);n=n+(1)>>0;}m.Sub=$append(m.Sub,BZ(15,a.Flags,l,CG.nil));return m;}if((a.Min===1)&&(a.Max===1)){return l;}o=CG.nil;if(a.Min>0){o=new BV.ptr(18,0,CH.nil,CI.zero(),CA.nil,CJ.zero(),0,0,0,"");o.Sub=$subslice(new CH(o.Sub0),0,0);p=0;while(true){if(!(p>0;}}if(a.Max>a.Min){q=BZ(16,a.Flags,l,CG.nil);r=a.Min+1>>0;while(true){if(!(r>0;}if(o===CG.nil){return q;}o.Sub=$append(o.Sub,q);}if(!(o===CG.nil)){return o;}return new BV.ptr(1,0,CH.nil,CI.zero(),CA.nil,CJ.zero(),0,0,0,"");}return a;};BV.prototype.Simplify=function(){return this.$val.Simplify();};BZ=function(a,b,c,d){var a,b,c,d,e;if(c.Op===2){return c;}if((a===c.Op)&&(((b&32)>>>0)===((c.Flags&32)>>>0))){return c;}if(!(d===CG.nil)&&(d.Op===a)&&(((d.Flags&32)>>>0)===((b&32)>>>0))&&c===(e=d.Sub,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]))){return d;}d=new BV.ptr(a,b,CH.nil,CI.zero(),CA.nil,CJ.zero(),0,0,0,"");d.Sub=$append($subslice(new CH(d.Sub0),0,0),c);return d;};F.methods=[{prop:"next",name:"next",pkg:"regexp/syntax",typ:$funcType([CE],[F],false)},{prop:"patch",name:"patch",pkg:"regexp/syntax",typ:$funcType([CE,$Uint32],[],false)},{prop:"append",name:"append",pkg:"regexp/syntax",typ:$funcType([CE,F],[F],false)}];CO.methods=[{prop:"init",name:"init",pkg:"regexp/syntax",typ:$funcType([],[],false)},{prop:"compile",name:"compile",pkg:"regexp/syntax",typ:$funcType([CG],[G],false)},{prop:"inst",name:"inst",pkg:"regexp/syntax",typ:$funcType([BL],[G],false)},{prop:"nop",name:"nop",pkg:"regexp/syntax",typ:$funcType([],[G],false)},{prop:"fail",name:"fail",pkg:"regexp/syntax",typ:$funcType([],[G],false)},{prop:"cap",name:"cap",pkg:"regexp/syntax",typ:$funcType([$Uint32],[G],false)},{prop:"cat",name:"cat",pkg:"regexp/syntax",typ:$funcType([G,G],[G],false)},{prop:"alt",name:"alt",pkg:"regexp/syntax",typ:$funcType([G,G],[G],false)},{prop:"quest",name:"quest",pkg:"regexp/syntax",typ:$funcType([G,$Bool],[G],false)},{prop:"star",name:"star",pkg:"regexp/syntax",typ:$funcType([G,$Bool],[G],false)},{prop:"plus",name:"plus",pkg:"regexp/syntax",typ:$funcType([G,$Bool],[G],false)},{prop:"empty",name:"empty",pkg:"regexp/syntax",typ:$funcType([BN],[G],false)},{prop:"rune",name:"rune",pkg:"regexp/syntax",typ:$funcType([CA,O],[G],false)}];CP.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];N.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];CQ.methods=[{prop:"newRegexp",name:"newRegexp",pkg:"regexp/syntax",typ:$funcType([BW],[CG],false)},{prop:"reuse",name:"reuse",pkg:"regexp/syntax",typ:$funcType([CG],[],false)},{prop:"push",name:"push",pkg:"regexp/syntax",typ:$funcType([CG],[CG],false)},{prop:"maybeConcat",name:"maybeConcat",pkg:"regexp/syntax",typ:$funcType([$Int32,O],[$Bool],false)},{prop:"newLiteral",name:"newLiteral",pkg:"regexp/syntax",typ:$funcType([$Int32,O],[CG],false)},{prop:"literal",name:"literal",pkg:"regexp/syntax",typ:$funcType([$Int32],[],false)},{prop:"op",name:"op",pkg:"regexp/syntax",typ:$funcType([BW],[CG],false)},{prop:"repeat",name:"repeat",pkg:"regexp/syntax",typ:$funcType([BW,$Int,$Int,$String,$String,$String],[$String,$error],false)},{prop:"concat",name:"concat",pkg:"regexp/syntax",typ:$funcType([],[CG],false)},{prop:"alternate",name:"alternate",pkg:"regexp/syntax",typ:$funcType([],[CG],false)},{prop:"collapse",name:"collapse",pkg:"regexp/syntax",typ:$funcType([CH,BW],[CG],false)},{prop:"factor",name:"factor",pkg:"regexp/syntax",typ:$funcType([CH],[CH],false)},{prop:"leadingString",name:"leadingString",pkg:"regexp/syntax",typ:$funcType([CG],[CA,O],false)},{prop:"removeLeadingString",name:"removeLeadingString",pkg:"regexp/syntax",typ:$funcType([CG,$Int],[CG],false)},{prop:"leadingRegexp",name:"leadingRegexp",pkg:"regexp/syntax",typ:$funcType([CG],[CG],false)},{prop:"removeLeadingRegexp",name:"removeLeadingRegexp",pkg:"regexp/syntax",typ:$funcType([CG,$Bool],[CG],false)},{prop:"parseRepeat",name:"parseRepeat",pkg:"regexp/syntax",typ:$funcType([$String],[$Int,$Int,$String,$Bool],false)},{prop:"parsePerlFlags",name:"parsePerlFlags",pkg:"regexp/syntax",typ:$funcType([$String],[$String,$error],false)},{prop:"parseInt",name:"parseInt",pkg:"regexp/syntax",typ:$funcType([$String],[$Int,$String,$Bool],false)},{prop:"parseVerticalBar",name:"parseVerticalBar",pkg:"regexp/syntax",typ:$funcType([],[$error],false)},{prop:"swapVerticalBar",name:"swapVerticalBar",pkg:"regexp/syntax",typ:$funcType([],[$Bool],false)},{prop:"parseRightParen",name:"parseRightParen",pkg:"regexp/syntax",typ:$funcType([],[$error],false)},{prop:"parseEscape",name:"parseEscape",pkg:"regexp/syntax",typ:$funcType([$String],[$Int32,$String,$error],false)},{prop:"parseClassChar",name:"parseClassChar",pkg:"regexp/syntax",typ:$funcType([$String,$String],[$Int32,$String,$error],false)},{prop:"parsePerlClassEscape",name:"parsePerlClassEscape",pkg:"regexp/syntax",typ:$funcType([$String,CA],[CA,$String],false)},{prop:"parseNamedClass",name:"parseNamedClass",pkg:"regexp/syntax",typ:$funcType([$String,CA],[CA,$String,$error],false)},{prop:"appendGroup",name:"appendGroup",pkg:"regexp/syntax",typ:$funcType([CA,Z],[CA],false)},{prop:"parseUnicodeClass",name:"parseUnicodeClass",pkg:"regexp/syntax",typ:$funcType([$String,CA],[CA,$String,$error],false)},{prop:"parseClass",name:"parseClass",pkg:"regexp/syntax",typ:$funcType([$String],[$String,$error],false)}];AM.methods=[{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)}];CE.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"skipNop",name:"skipNop",pkg:"regexp/syntax",typ:$funcType([$Uint32],[CR],false)},{prop:"Prefix",name:"Prefix",pkg:"",typ:$funcType([],[$String,$Bool],false)},{prop:"StartCond",name:"StartCond",pkg:"",typ:$funcType([],[BN],false)}];BL.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];CR.methods=[{prop:"op",name:"op",pkg:"regexp/syntax",typ:$funcType([],[BL],false)},{prop:"MatchRune",name:"MatchRune",pkg:"",typ:$funcType([$Int32],[$Bool],false)},{prop:"MatchRunePos",name:"MatchRunePos",pkg:"",typ:$funcType([$Int32],[$Int],false)},{prop:"MatchEmptyWidth",name:"MatchEmptyWidth",pkg:"",typ:$funcType([$Int32,$Int32],[$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];CG.methods=[{prop:"Equal",name:"Equal",pkg:"",typ:$funcType([CG],[$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"MaxCap",name:"MaxCap",pkg:"",typ:$funcType([],[$Int],false)},{prop:"CapNames",name:"CapNames",pkg:"",typ:$funcType([],[CD],false)},{prop:"capNames",name:"capNames",pkg:"regexp/syntax",typ:$funcType([CD],[],false)},{prop:"Simplify",name:"Simplify",pkg:"",typ:$funcType([],[CG],false)}];BW.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];G.init("regexp/syntax",[{prop:"i",name:"i",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"out",name:"out",embedded:false,exported:false,typ:F,tag:""}]);H.init("regexp/syntax",[{prop:"p",name:"p",embedded:false,exported:false,typ:CE,tag:""}]);M.init("",[{prop:"Code",name:"Code",embedded:false,exported:true,typ:N,tag:""},{prop:"Expr",name:"Expr",embedded:false,exported:true,typ:$String,tag:""}]);P.init("regexp/syntax",[{prop:"flags",name:"flags",embedded:false,exported:false,typ:O,tag:""},{prop:"stack",name:"stack",embedded:false,exported:false,typ:CH,tag:""},{prop:"free",name:"free",embedded:false,exported:false,typ:CG,tag:""},{prop:"numCap",name:"numCap",embedded:false,exported:false,typ:$Int,tag:""},{prop:"wholeRegexp",name:"wholeRegexp",embedded:false,exported:false,typ:$String,tag:""},{prop:"tmpClass",name:"tmpClass",embedded:false,exported:false,typ:CA,tag:""}]);Z.init("regexp/syntax",[{prop:"sign",name:"sign",embedded:false,exported:false,typ:$Int,tag:""},{prop:"class$1",name:"class",embedded:false,exported:false,typ:CA,tag:""}]);AM.init("regexp/syntax",[{prop:"p",name:"p",embedded:false,exported:false,typ:CK,tag:""}]);BK.init("",[{prop:"Inst",name:"Inst",embedded:false,exported:true,typ:CF,tag:""},{prop:"Start",name:"Start",embedded:false,exported:true,typ:$Int,tag:""},{prop:"NumCap",name:"NumCap",embedded:false,exported:true,typ:$Int,tag:""}]);BQ.init("",[{prop:"Op",name:"Op",embedded:false,exported:true,typ:BL,tag:""},{prop:"Out",name:"Out",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Arg",name:"Arg",embedded:false,exported:true,typ:$Uint32,tag:""},{prop:"Rune",name:"Rune",embedded:false,exported:true,typ:CA,tag:""}]);BV.init("",[{prop:"Op",name:"Op",embedded:false,exported:true,typ:BW,tag:""},{prop:"Flags",name:"Flags",embedded:false,exported:true,typ:O,tag:""},{prop:"Sub",name:"Sub",embedded:false,exported:true,typ:CH,tag:""},{prop:"Sub0",name:"Sub0",embedded:false,exported:true,typ:CI,tag:""},{prop:"Rune",name:"Rune",embedded:false,exported:true,typ:CA,tag:""},{prop:"Rune0",name:"Rune0",embedded:false,exported:true,typ:CJ,tag:""},{prop:"Min",name:"Min",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Max",name:"Max",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Cap",name:"Cap",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}J=new CA([0,9,11,1114111]);K=new CA([0,1114111]);L=$toNativeArray($kindUint8,[0,7,17,24,33,45,52,61,68,77,84,96,110,117,121,125,130,136,142,151]);AA=new A.RangeTable.ptr(new CB([new A.Range16.ptr(0,65535,1)]),new CC([new A.Range32.ptr(65536,1114111,1)]),0);AR=new CA([48,57]);AS=new CA([9,10,12,13,32,32]);AT=new CA([48,57,65,90,95,95,97,122]);AU=$makeMap($String.keyFor,[{k:"\\d",v:new Z.ptr(1,AR)},{k:"\\D",v:new Z.ptr(-1,AR)},{k:"\\s",v:new Z.ptr(1,AS)},{k:"\\S",v:new Z.ptr(-1,AS)},{k:"\\w",v:new Z.ptr(1,AT)},{k:"\\W",v:new Z.ptr(-1,AT)}]);AV=new CA([48,57,65,90,97,122]);AW=new CA([65,90,97,122]);AX=new CA([0,127]);AY=new CA([9,9,32,32]);AZ=new CA([0,31,127,127]);BA=new CA([48,57]);BB=new CA([33,126]);BC=new CA([97,122]);BD=new CA([32,126]);BE=new CA([33,47,58,64,91,96,123,126]);BF=new CA([9,13,32,32]);BG=new CA([65,90]);BH=new CA([48,57,65,90,95,95,97,122]);BI=new CA([48,57,65,70,97,102]);BJ=$makeMap($String.keyFor,[{k:"[:alnum:]",v:new Z.ptr(1,AV)},{k:"[:^alnum:]",v:new Z.ptr(-1,AV)},{k:"[:alpha:]",v:new Z.ptr(1,AW)},{k:"[:^alpha:]",v:new Z.ptr(-1,AW)},{k:"[:ascii:]",v:new Z.ptr(1,AX)},{k:"[:^ascii:]",v:new Z.ptr(-1,AX)},{k:"[:blank:]",v:new Z.ptr(1,AY)},{k:"[:^blank:]",v:new Z.ptr(-1,AY)},{k:"[:cntrl:]",v:new Z.ptr(1,AZ)},{k:"[:^cntrl:]",v:new Z.ptr(-1,AZ)},{k:"[:digit:]",v:new Z.ptr(1,BA)},{k:"[:^digit:]",v:new Z.ptr(-1,BA)},{k:"[:graph:]",v:new Z.ptr(1,BB)},{k:"[:^graph:]",v:new Z.ptr(-1,BB)},{k:"[:lower:]",v:new Z.ptr(1,BC)},{k:"[:^lower:]",v:new Z.ptr(-1,BC)},{k:"[:print:]",v:new Z.ptr(1,BD)},{k:"[:^print:]",v:new Z.ptr(-1,BD)},{k:"[:punct:]",v:new Z.ptr(1,BE)},{k:"[:^punct:]",v:new Z.ptr(-1,BE)},{k:"[:space:]",v:new Z.ptr(1,BF)},{k:"[:^space:]",v:new Z.ptr(-1,BF)},{k:"[:upper:]",v:new Z.ptr(1,BG)},{k:"[:^upper:]",v:new Z.ptr(-1,BG)},{k:"[:word:]",v:new Z.ptr(1,BH)},{k:"[:^word:]",v:new Z.ptr(-1,BH)},{k:"[:xdigit:]",v:new Z.ptr(1,BI)},{k:"[:^xdigit:]",v:new Z.ptr(-1,BI)}]);BM=new CD(["InstAlt","InstAltMatch","InstCapture","InstEmptyWidth","InstMatch","InstFail","InstNop","InstRune","InstRune1","InstRuneAny","InstRuneAnyNotNL"]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})(); $packages["regexp"]=(function(){var $pkg={},$init,G,B,C,A,D,H,E,F,I,J,K,Q,R,S,T,U,V,X,AC,AD,AH,AO,AT,BC,BD,BE,BF,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,CY,CZ,DA,DB,DC,DD,DE,DF,L,Y,AB,AJ,AK,AP,AQ,AX,AY,BJ,M,N,O,P,W,Z,AA,AE,AF,AG,AI,AL,AM,AN,AR,AS,AU,AW,AZ,BB,BL,BN;G=$packages["bytes"];B=$packages["github.com/gopherjs/gopherjs/nosync"];C=$packages["io"];A=$packages["regexp/syntax"];D=$packages["sort"];H=$packages["strconv"];E=$packages["strings"];F=$packages["unicode"];I=$packages["unicode/utf8"];J=$pkg.job=$newType(0,$kindStruct,"regexp.job",true,"regexp",false,function(pc_,arg_,pos_){this.$val=this;if(arguments.length===0){this.pc=0;this.arg=false;this.pos=0;return;}this.pc=pc_;this.arg=arg_;this.pos=pos_;});K=$pkg.bitState=$newType(0,$kindStruct,"regexp.bitState",true,"regexp",false,function(end_,cap_,matchcap_,jobs_,visited_,inputs_){this.$val=this;if(arguments.length===0){this.end=0;this.cap=BV.nil;this.matchcap=BV.nil;this.jobs=BW.nil;this.visited=BT.nil;this.inputs=new U.ptr(new BE.ptr(BX.nil),new BD.ptr(""),new BF.ptr($ifaceNil,false,0));return;}this.end=end_;this.cap=cap_;this.matchcap=matchcap_;this.jobs=jobs_;this.visited=visited_;this.inputs=inputs_;});Q=$pkg.queue=$newType(0,$kindStruct,"regexp.queue",true,"regexp",false,function(sparse_,dense_){this.$val=this;if(arguments.length===0){this.sparse=BT.nil;this.dense=CP.nil;return;}this.sparse=sparse_;this.dense=dense_;});R=$pkg.entry=$newType(0,$kindStruct,"regexp.entry",true,"regexp",false,function(pc_,t_){this.$val=this;if(arguments.length===0){this.pc=0;this.t=BY.nil;return;}this.pc=pc_;this.t=t_;});S=$pkg.thread=$newType(0,$kindStruct,"regexp.thread",true,"regexp",false,function(inst_,cap_){this.$val=this;if(arguments.length===0){this.inst=BZ.nil;this.cap=BV.nil;return;}this.inst=inst_;this.cap=cap_;});T=$pkg.machine=$newType(0,$kindStruct,"regexp.machine",true,"regexp",false,function(re_,p_,q0_,q1_,pool_,matched_,matchcap_,inputs_){this.$val=this;if(arguments.length===0){this.re=CL.nil;this.p=CM.nil;this.q0=new Q.ptr(BT.nil,CP.nil);this.q1=new Q.ptr(BT.nil,CP.nil);this.pool=CQ.nil;this.matched=false;this.matchcap=BV.nil;this.inputs=new U.ptr(new BE.ptr(BX.nil),new BD.ptr(""),new BF.ptr($ifaceNil,false,0));return;}this.re=re_;this.p=p_;this.q0=q0_;this.q1=q1_;this.pool=pool_;this.matched=matched_;this.matchcap=matchcap_;this.inputs=inputs_;});U=$pkg.inputs=$newType(0,$kindStruct,"regexp.inputs",true,"regexp",false,function(bytes_,string_,reader_){this.$val=this;if(arguments.length===0){this.bytes=new BE.ptr(BX.nil);this.string=new BD.ptr("");this.reader=new BF.ptr($ifaceNil,false,0);return;}this.bytes=bytes_;this.string=string_;this.reader=reader_;});V=$pkg.lazyFlag=$newType(8,$kindUint64,"regexp.lazyFlag",true,"regexp",false,null);X=$pkg.onePassMachine=$newType(0,$kindStruct,"regexp.onePassMachine",true,"regexp",false,function(inputs_,matchcap_){this.$val=this;if(arguments.length===0){this.inputs=new U.ptr(new BE.ptr(BX.nil),new BD.ptr(""),new BF.ptr($ifaceNil,false,0));this.matchcap=BV.nil;return;}this.inputs=inputs_;this.matchcap=matchcap_;});AC=$pkg.onePassProg=$newType(0,$kindStruct,"regexp.onePassProg",true,"regexp",false,function(Inst_,Start_,NumCap_){this.$val=this;if(arguments.length===0){this.Inst=CG.nil;this.Start=0;this.NumCap=0;return;}this.Inst=Inst_;this.Start=Start_;this.NumCap=NumCap_;});AD=$pkg.onePassInst=$newType(0,$kindStruct,"regexp.onePassInst",true,"regexp",false,function(Inst_,Next_){this.$val=this;if(arguments.length===0){this.Inst=new A.Inst.ptr(0,0,0,BS.nil);this.Next=BT.nil;return;}this.Inst=Inst_;this.Next=Next_;});AH=$pkg.queueOnePass=$newType(0,$kindStruct,"regexp.queueOnePass",true,"regexp",false,function(sparse_,dense_,size_,nextIndex_){this.$val=this;if(arguments.length===0){this.sparse=BT.nil;this.dense=BT.nil;this.size=0;this.nextIndex=0;return;}this.sparse=sparse_;this.dense=dense_;this.size=size_;this.nextIndex=nextIndex_;});AO=$pkg.runeSlice=$newType(12,$kindSlice,"regexp.runeSlice",true,"regexp",false,null);AT=$pkg.Regexp=$newType(0,$kindStruct,"regexp.Regexp",true,"regexp",true,function(expr_,prog_,onepass_,numSubexp_,maxBitStateLen_,subexpNames_,prefix_,prefixBytes_,prefixRune_,prefixEnd_,mpool_,matchcap_,prefixComplete_,cond_,longest_){this.$val=this;if(arguments.length===0){this.expr="";this.prog=CM.nil;this.onepass=CD.nil;this.numSubexp=0;this.maxBitStateLen=0;this.subexpNames=CN.nil;this.prefix="";this.prefixBytes=BX.nil;this.prefixRune=0;this.prefixEnd=0;this.mpool=0;this.matchcap=0;this.prefixComplete=false;this.cond=0;this.longest=false;return;}this.expr=expr_;this.prog=prog_;this.onepass=onepass_;this.numSubexp=numSubexp_;this.maxBitStateLen=maxBitStateLen_;this.subexpNames=subexpNames_;this.prefix=prefix_;this.prefixBytes=prefixBytes_;this.prefixRune=prefixRune_;this.prefixEnd=prefixEnd_;this.mpool=mpool_;this.matchcap=matchcap_;this.prefixComplete=prefixComplete_;this.cond=cond_;this.longest=longest_;});BC=$pkg.input=$newType(8,$kindInterface,"regexp.input",true,"regexp",false,null);BD=$pkg.inputString=$newType(0,$kindStruct,"regexp.inputString",true,"regexp",false,function(str_){this.$val=this;if(arguments.length===0){this.str="";return;}this.str=str_;});BE=$pkg.inputBytes=$newType(0,$kindStruct,"regexp.inputBytes",true,"regexp",false,function(str_){this.$val=this;if(arguments.length===0){this.str=BX.nil;return;}this.str=str_;});BF=$pkg.inputReader=$newType(0,$kindStruct,"regexp.inputReader",true,"regexp",false,function(r_,atEOT_,pos_){this.$val=this;if(arguments.length===0){this.r=$ifaceNil;this.atEOT=false;this.pos=0;return;}this.r=r_;this.atEOT=atEOT_;this.pos=pos_;});BO=$sliceType($emptyInterface);BP=$arrayType($Int,0);BQ=$arrayType(B.Pool,5);BR=$arrayType($Uint8,16);BS=$sliceType($Int32);BT=$sliceType($Uint32);BU=$ptrType(K);BV=$sliceType($Int);BW=$sliceType(J);BX=$sliceType($Uint8);BY=$ptrType(S);BZ=$ptrType(A.Inst);CA=$ptrType(V);CB=$ptrType($Int);CC=$ptrType(X);CD=$ptrType(AC);CE=$ptrType(E.Builder);CF=$ptrType(AH);CG=$sliceType(AD);CH=$ptrType($Uint32);CI=$sliceType(BS);CJ=$ptrType(BS);CK=$sliceType($Bool);CL=$ptrType(AT);CM=$ptrType(A.Prog);CN=$sliceType($String);CO=$ptrType(T);CP=$sliceType(R);CQ=$sliceType(BY);CR=$arrayType($Int,2);CS=$arrayType($Int,4);CT=$sliceType(BX);CU=$sliceType(BV);CV=$sliceType(CT);CW=$sliceType(CN);CX=$ptrType(Q);CY=$ptrType(U);CZ=$funcType([$String],[$String],false);DA=$funcType([BX,BV],[BX],false);DB=$funcType([BX],[BX],false);DC=$funcType([BV],[],false);DD=$ptrType(BD);DE=$ptrType(BE);DF=$ptrType(BF);M=function(){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=L.Get();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}a=$assertType(b,BU,true);c=a[0];d=a[1];if(!d){c=new K.ptr(0,BV.nil,BV.nil,BW.nil,BT.nil,new U.ptr(new BE.ptr(BX.nil),new BD.ptr(""),new BF.ptr($ifaceNil,false,0)));}$s=-1;return c;}return;}if($f===undefined){$f={$blk:M};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};N=function(a){var a;a.inputs.clear();L.Put(a);};O=function(a){var a,b;if(!P(a)){return 0;}return(b=262144/a.Inst.$length,(b===b&&b!==1/0&&b!==-1/0)?b>>0:$throwRuntimeError("integer divide by zero"));};P=function(a){var a;return a.Inst.$length<=500;};K.ptr.prototype.reset=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;d=this;d.end=b;if(d.jobs.$capacity===0){d.jobs=$makeSlice(BW,0,256);}else{d.jobs=$subslice(d.jobs,0,0);}f=(e=(((($imul(a.Inst.$length,((b+1>>0))))+32>>0)-1>>0))/32,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero"));if(d.visited.$capacity=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+i]=0));h++;}}if(d.cap.$capacity=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+m]=-1));l++;}if(d.matchcap.$capacity=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+q]=-1));p++;}};K.prototype.reset=function(a,b,c){return this.$val.reset(a,b,c);};K.ptr.prototype.shouldVisit=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m;c=this;d=(((($imul(((a>>0)),((c.end+1>>0))))+b>>0)>>>0));if(!(((((e=c.visited,f=(g=d/32,(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero")),((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]))&(((h=(((d&31)>>>0)),h<32?(1<>>0)))>>>0)===0))){return false;}j=(i=d/32,(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));(m=c.visited,((j<0||j>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+j]=(((k=c.visited,((j<0||j>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+j]))|(((l=(((d&31)>>>0)),l<32?(1<>>0)))>>>0)));return true;};K.prototype.shouldVisit=function(a,b){return this.$val.shouldVisit(a,b);};K.ptr.prototype.push=function(a,b,c,d){var a,b,c,d,e,f;e=this;if(!(((f=a.prog.Inst,((b<0||b>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+b])).Op===5))&&(d||e.shouldVisit(b,c))){e.jobs=$append(e.jobs,new J.ptr(b,d,c));}};K.prototype.push=function(a,b,c,d){return this.$val.push(a,b,c,d);};AT.ptr.prototype.tryBacktrack=function(a,b,c,d){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=e.longest;a.push(e,c,d,false);case 1:if(!(a.jobs.$length>0)){$s=2;continue;}g=a.jobs.$length-1>>0;i=(h=a.jobs,((g<0||g>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+g])).pc;k=(j=a.jobs,((g<0||g>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+g])).pos;m=(l=a.jobs,((g<0||g>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+g])).arg;a.jobs=$subslice(a.jobs,0,g);$s=3;continue;case 4:if(!a.shouldVisit(i,k)){$s=1;continue;}case 3:o=$clone((n=e.prog.Inst,((i<0||i>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+i])),A.Inst);p=o.Op;if(p===(5)){$s=6;continue;}if(p===(0)){$s=7;continue;}if(p===(1)){$s=8;continue;}if(p===(7)){$s=9;continue;}if(p===(8)){$s=10;continue;}if(p===(10)){$s=11;continue;}if(p===(9)){$s=12;continue;}if(p===(2)){$s=13;continue;}if(p===(3)){$s=14;continue;}if(p===(6)){$s=15;continue;}if(p===(4)){$s=16;continue;}$s=17;continue;case 6:$panic(new $String("unexpected InstFail"));$s=18;continue;case 7:if(m){$s=19;continue;}$s=20;continue;case 19:m=false;i=o.Arg;$s=4;continue;$s=21;continue;case 20:a.push(e,i,k,true);i=o.Out;$s=4;continue;case 21:$s=18;continue;case 8:s=(q=e.prog.Inst,r=o.Out,((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r])).Op;if((s===(7))||(s===(8))||(s===(9))||(s===(10))){$s=23;continue;}$s=24;continue;case 23:a.push(e,o.Arg,k,false);i=o.Arg;k=a.end;$s=4;continue;case 24:case 22:a.push(e,o.Out,a.end,false);i=o.Out;$s=4;continue;$s=18;continue;case 9:u=b.step(k);$s=25;case 25:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];if(!o.MatchRune(v)){$s=26;continue;}$s=27;continue;case 26:$s=1;continue;case 27:k=k+(w)>>0;i=o.Out;$s=4;continue;$s=18;continue;case 10:y=b.step(k);$s=28;case 28:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;z=x[0];aa=x[1];if(!((z===(ab=o.Rune,(0>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0]))))){$s=29;continue;}$s=30;continue;case 29:$s=1;continue;case 30:k=k+(aa)>>0;i=o.Out;$s=4;continue;$s=18;continue;case 11:ad=b.step(k);$s=31;case 31:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;ae=ac[0];af=ac[1];if((ae===10)||(ae===-1)){$s=32;continue;}$s=33;continue;case 32:$s=1;continue;case 33:k=k+(af)>>0;i=o.Out;$s=4;continue;$s=18;continue;case 12:ah=b.step(k);$s=34;case 34:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;ai=ag[0];aj=ag[1];if(ai===-1){$s=35;continue;}$s=36;continue;case 35:$s=1;continue;case 36:k=k+(aj)>>0;i=o.Out;$s=4;continue;$s=18;continue;case 13:if(m){$s=37;continue;}$s=38;continue;case 37:(ak=a.cap,al=o.Arg,((al<0||al>=ak.$length)?($throwRuntimeError("index out of range"),undefined):ak.$array[ak.$offset+al]=k));$s=1;continue;$s=39;continue;case 38:if(0<=o.Arg&&o.Arg<((a.cap.$length>>>0))){a.push(e,i,(am=a.cap,an=o.Arg,((an<0||an>=am.$length)?($throwRuntimeError("index out of range"),undefined):am.$array[am.$offset+an])),true);(ao=a.cap,ap=o.Arg,((ap<0||ap>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+ap]=k));}i=o.Out;$s=4;continue;case 39:$s=18;continue;case 14:aq=b.context(k);$s=40;case 40:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq;if(!ar.match(((o.Arg<<24>>>24)))){$s=41;continue;}$s=42;continue;case 41:$s=1;continue;case 42:i=o.Out;$s=4;continue;$s=18;continue;case 15:i=o.Out;$s=4;continue;$s=18;continue;case 16:if(a.cap.$length===0){$s=-1;return true;}if(a.cap.$length>1){(as=a.cap,(1>=as.$length?($throwRuntimeError("index out of range"),undefined):as.$array[as.$offset+1]=k));}au=(at=a.matchcap,(1>=at.$length?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+1]));if((au===-1)||(f&&k>0&&k>au)){$copySlice(a.matchcap,a.cap);}if(!f){$s=-1;return true;}if(k===a.end){$s=-1;return true;}$s=1;continue;$s=18;continue;case 17:$panic(new $String("bad inst"));case 18:case 5:$s=1;continue;case 2:$s=-1;return f&&a.matchcap.$length>1&&(av=a.matchcap,(1>=av.$length?($throwRuntimeError("index out of range"),undefined):av.$array[av.$offset+1]))>=0;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.tryBacktrack};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.tryBacktrack=function(a,b,c,d){return this.$val.tryBacktrack(a,b,c,d);};AT.ptr.prototype.backtrack=function(a,b,c,d,e){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=f.cond;if(g===255){$s=-1;return BV.nil;}if(!((((g&4)>>>0)===0))&&!((c===0))){$s=-1;return BV.nil;}h=M();$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;j=i.inputs.init($ifaceNil,a,b);k=j[0];l=j[1];i.reset(f.prog,l,d);if(!((((g&4)>>>0)===0))){$s=2;continue;}$s=3;continue;case 2:if(i.cap.$length>0){(m=i.cap,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]=c));}n=f.tryBacktrack(i,k,((f.prog.Start>>>0)),c);$s=7;case 7:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(!n){$s=5;continue;}$s=6;continue;case 5:N(i);$s=-1;return BV.nil;case 6:$s=4;continue;case 3:o=-1;case 8:if(!(c<=l&&!((o===0)))){$s=9;continue;}if(f.prefix.length>0){$s=10;continue;}$s=11;continue;case 10:p=k.index(f,c);$s=12;case 12:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;if(q<0){N(i);$s=-1;return BV.nil;}c=c+(q)>>0;case 11:if(i.cap.$length>0){(r=i.cap,(0>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+0]=c));}s=f.tryBacktrack(i,k,((f.prog.Start>>>0)),c);$s=15;case 15:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}if(s){$s=13;continue;}$s=14;continue;case 13:$s=16;continue;case 14:u=k.step(c);$s=17;case 17:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;o=t[1];c=c+(o)>>0;$s=8;continue;case 9:N(i);$s=-1;return BV.nil;case 4:case 16:e=$appendSlice(e,i.matchcap);N(i);$s=-1;return e;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.backtrack};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.backtrack=function(a,b,c,d,e){return this.$val.backtrack(a,b,c,d,e);};U.ptr.prototype.newBytes=function(a){var a,b;b=this;b.bytes.str=a;return b.bytes;};U.prototype.newBytes=function(a){return this.$val.newBytes(a);};U.ptr.prototype.newString=function(a){var a,b;b=this;b.string.str=a;return b.string;};U.prototype.newString=function(a){return this.$val.newString(a);};U.ptr.prototype.newReader=function(a){var a,b;b=this;b.reader.r=a;b.reader.atEOT=false;b.reader.pos=0;return b.reader;};U.prototype.newReader=function(a){return this.$val.newReader(a);};U.ptr.prototype.clear=function(){var a;a=this;if(!(a.bytes.str===BX.nil)){a.bytes.str=BX.nil;}else if(!($interfaceIsEqual(a.reader.r,$ifaceNil))){a.reader.r=$ifaceNil;}else{a.string.str="";}};U.prototype.clear=function(){return this.$val.clear();};U.ptr.prototype.init=function(a,b,c){var a,b,c,d;d=this;if(!($interfaceIsEqual(a,$ifaceNil))){return[d.newReader(a),0];}if(!(b===BX.nil)){return[d.newBytes(b),b.$length];}return[d.newString(c),c.length];};U.prototype.init=function(a,b,c){return this.$val.init(a,b,c);};T.ptr.prototype.init=function(a){var a,b,c,d,e;b=this;c=b.pool;d=0;while(true){if(!(d=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);e.cap=$subslice(e.cap,0,a);d++;}b.matchcap=$subslice(b.matchcap,0,a);};T.prototype.init=function(a){return this.$val.init(a);};T.ptr.prototype.alloc=function(a){var a,b,c,d,e,f;b=this;c=BY.nil;d=b.pool.$length;if(d>0){c=(e=b.pool,f=d-1>>0,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));b.pool=$subslice(b.pool,0,(d-1>>0));}else{c=new S.ptr(BZ.nil,BV.nil);c.cap=$makeSlice(BV,b.matchcap.$length,b.matchcap.$capacity);}c.inst=a;return c;};T.prototype.alloc=function(a){return this.$val.alloc(a);};W=function(a,b){var a,b,c,d,e;return((c=(d=$shiftLeft64((new $Uint64(0,a)),32),e=(new $Uint64(0,((b>>>0)))),new $Uint64(d.$high|e.$high,(d.$low|e.$low)>>>0)),new V(c.$high,c.$low)));};V.prototype.match=function(a){var a,b,c,d;b=this;if(a===0){return true;}c=(($shiftRightUint64(b,32).$low>>0));if(!((((a&1)>>>0)===0))){if(!((c===10))&&c>=0){return false;}a=(a&~(1))<<24>>>24;}if(!((((a&4)>>>0)===0))){if(c>=0){return false;}a=(a&~(4))<<24>>>24;}if(a===0){return true;}d=((b.$low>>0));if(!((((a&2)>>>0)===0))){if(!((d===10))&&d>=0){return false;}a=(a&~(2))<<24>>>24;}if(!((((a&8)>>>0)===0))){if(d>=0){return false;}a=(a&~(8))<<24>>>24;}if(a===0){return true;}if(!(A.IsWordChar(c)===A.IsWordChar(d))){a=(a&~(16))<<24>>>24;}else{a=(a&~(32))<<24>>>24;}return a===0;};$ptrType(V).prototype.match=function(a){return this.$get().match(a);};T.ptr.prototype.match=function(a,b){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;e=d.re.cond;if(e===255){$s=-1;return false;}d.matched=false;f=d.matchcap;g=0;while(true){if(!(g=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+h]=-1));g++;}j=d.q0;k=d.q1;l=j;m=k;n=-1;o=-1;p=n;q=o;r=0;s=0;t=r;u=s;w=a.step(b);$s=1;case 1:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;p=v[0];t=v[1];if(!((p===-1))){$s=2;continue;}$s=3;continue;case 2:y=a.step(b+t>>0);$s=4;case 4:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;q=x[0];u=x[1];case 3:c[0]=new V(0,0);if(b===0){$s=5;continue;}$s=6;continue;case 5:c[0]=W(-1,p);$s=7;continue;case 6:z=a.context(b);$s=8;case 8:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}c[0]=z;case 7:case 9:if(l.dense.$length===0){$s=11;continue;}$s=12;continue;case 11:if(!((((e&4)>>>0)===0))&&!((b===0))){$s=10;continue;}if(d.matched){$s=10;continue;}if(!(d.re.prefix.length>0&&!((q===d.re.prefixRune)))){aa=false;$s=15;continue s;}ab=a.canCheckPrefix();$s=16;case 16:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;case 15:if(aa){$s=13;continue;}$s=14;continue;case 13:ac=a.index(d.re,b);$s=17;case 17:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;if(ad<0){$s=10;continue;}b=b+(ad)>>0;af=a.step(b);$s=18;case 18:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;p=ae[0];t=ae[1];ah=a.step(b+t>>0);$s=19;case 19:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;q=ag[0];u=ag[1];case 14:case 12:if(!d.matched){if(d.matchcap.$length>0){(ai=d.matchcap,(0>=ai.$length?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+0]=b));}d.add(l,((d.p.Start>>>0)),b,d.matchcap,(c.$ptr||(c.$ptr=new CA(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))),BY.nil);}c[0]=W(p,q);d.step(l,m,b,b+t>>0,p,(c.$ptr||(c.$ptr=new CA(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))));if(t===0){$s=10;continue;}if((d.matchcap.$length===0)&&d.matched){$s=10;continue;}b=b+(t)>>0;aj=q;ak=u;p=aj;t=ak;if(!((p===-1))){$s=20;continue;}$s=21;continue;case 20:am=a.step(b+t>>0);$s=22;case 22:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}al=am;q=al[0];u=al[1];case 21:an=m;ao=l;l=an;m=ao;$s=9;continue;case 10:d.clear(m);$s=-1;return d.matched;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.match};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.match=function(a,b){return this.$val.match(a,b);};T.ptr.prototype.clear=function(a){var a,b,c,d,e;b=this;c=a.dense;d=0;while(true){if(!(d=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),R);if(!(e.t===BY.nil)){b.pool=$append(b.pool,e.t);}d++;}a.dense=$subslice(a.dense,0,0);};T.prototype.clear=function(a){return this.$val.clear(a);};T.ptr.prototype.step=function(a,b,c,d,e,f){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;g=this;h=g.re.longest;i=0;while(true){if(!(i=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+i]));l=k.t;if(l===BY.nil){i=i+(1)>>0;continue;}if(h&&g.matched&&l.cap.$length>0&&(m=g.matchcap,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]))<(n=l.cap,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]))){g.pool=$append(g.pool,l);i=i+(1)>>0;continue;}o=l.inst;p=false;q=o.Op;if(q===(4)){if(l.cap.$length>0&&(!h||!g.matched||(r=g.matchcap,(1>=r.$length?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+1]))=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+1]=c));$copySlice(g.matchcap,l.cap);}if(!h){t=$subslice(a.dense,(i+1>>0));u=0;while(true){if(!(u=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]),R);if(!(v.t===BY.nil)){g.pool=$append(g.pool,v.t);}u++;}a.dense=$subslice(a.dense,0,0);}g.matched=true;}else if(q===(7)){p=o.MatchRune(e);}else if(q===(8)){p=e===(w=o.Rune,(0>=w.$length?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+0]));}else if(q===(9)){p=true;}else if(q===(10)){p=!((e===10));}else{$panic(new $String("bad inst"));}if(p){l=g.add(b,o.Out,d,l.cap,f,l);}if(!(l===BY.nil)){g.pool=$append(g.pool,l);}i=i+(1)>>0;}a.dense=$subslice(a.dense,0,0);};T.prototype.step=function(a,b,c,d,e,f){return this.$val.step(a,b,c,d,e,f);};T.ptr.prototype.add=function(a,b,c,d,e,f){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s;$s=0;s:while(true){switch($s){case 0:g=this;case 1:if(b===0){$s=-1;return f;}i=(h=a.sparse,((b<0||b>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+b]));if(i<((a.dense.$length>>>0))&&((j=a.dense,((i<0||i>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+i])).pc===b)){$s=-1;return f;}k=a.dense.$length;a.dense=$subslice(a.dense,0,(k+1>>0));m=(l=a.dense,((k<0||k>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+k]));m.t=BY.nil;m.pc=b;(n=a.sparse,((b<0||b>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+b]=((k>>>0))));p=(o=g.p.Inst,((b<0||b>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+b]));q=p.Op;if(q===(5)){$s=3;continue;}if((q===(0))||(q===(1))){$s=4;continue;}if(q===(3)){$s=5;continue;}if(q===(6)){$s=6;continue;}if(q===(2)){$s=7;continue;}if((q===(4))||(q===(7))||(q===(8))||(q===(9))||(q===(10))){$s=8;continue;}$s=9;continue;case 3:$s=10;continue;case 4:f=g.add(a,p.Out,c,d,e,f);b=p.Arg;$s=1;continue;$s=10;continue;case 5:if(e.match(((p.Arg<<24>>>24)))){$s=11;continue;}$s=12;continue;case 11:b=p.Out;$s=1;continue;case 12:$s=10;continue;case 6:b=p.Out;$s=1;continue;$s=10;continue;case 7:if(((p.Arg>>0))=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+r]));(t=p.Arg,((t<0||t>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+t]=c));g.add(a,p.Out,c,d,e,BY.nil);(u=p.Arg,((u<0||u>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+u]=s));$s=15;continue;case 14:b=p.Out;$s=1;continue;case 15:$s=10;continue;case 8:if(f===BY.nil){f=g.alloc(p);}else{f.inst=p;}if(d.$length>0&&!((v=f.cap,$indexPtr(v.$array,v.$offset+0,CB))===$indexPtr(d.$array,d.$offset+0,CB))){$copySlice(f.cap,d);}m.t=f;f=BY.nil;$s=10;continue;case 9:$panic(new $String("unhandled"));case 10:case 2:$s=-1;return f;}return;}};T.prototype.add=function(a,b,c,d,e,f){return this.$val.add(a,b,c,d,e,f);};Z=function(){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=Y.Get();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}a=$assertType(b,CC,true);c=a[0];d=a[1];if(!d){c=new X.ptr(new U.ptr(new BE.ptr(BX.nil),new BD.ptr(""),new BF.ptr($ifaceNil,false,0)),BV.nil);}$s=-1;return c;}return;}if($f===undefined){$f={$blk:Z};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AA=function(a){var a;a.inputs.clear();Y.Put(a);};AT.ptr.prototype.doOnePass=function(a,b,c,d,e,f){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=[g];h=this;i=h.cond;if(i===255){$s=-1;return BV.nil;}j=Z();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(k.matchcap.$capacity=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+o]=-1));n++;}q=k.inputs.init(a,b,c);r=q[0];s=-1;t=-1;u=s;v=t;w=0;x=0;y=w;z=x;ab=r.step(d);$s=2;case 2:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;u=aa[0];y=aa[1];if(!((u===-1))){$s=3;continue;}$s=4;continue;case 3:ad=r.step(d+y>>0);$s=5;case 5:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;v=ac[0];z=ac[1];case 4:ae=new V(0,0);if(d===0){$s=6;continue;}$s=7;continue;case 6:ae=W(-1,u);$s=8;continue;case 7:af=r.context(d);$s=9;case 9:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ae=af;case 8:ag=h.onepass.Start;g[0]=$clone((ah=h.onepass.Inst,((ag<0||ag>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ag])),AD);if(!((d===0)&&ae.match(((g[0].Inst.Arg<<24>>>24)))&&h.prefix.length>0)){ai=false;$s=12;continue s;}aj=r.canCheckPrefix();$s=13;case 13:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;case 12:if(ai){$s=10;continue;}$s=11;continue;case 10:ak=r.hasPrefix(h);$s=16;case 16:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}if(!ak){$s=14;continue;}$s=15;continue;case 14:$s=17;continue;case 15:d=d+(h.prefix.length)>>0;am=r.step(d);$s=18;case 18:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}al=am;u=al[0];y=al[1];ao=r.step(d+y>>0);$s=19;case 19:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}an=ao;v=an[0];z=an[1];ap=r.context(d);$s=20;case 20:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ae=ap;ag=((h.prefixEnd>>0));case 11:case 21:AD.copy(g[0],(aq=h.onepass.Inst,((ag<0||ag>=aq.$length)?($throwRuntimeError("index out of range"),undefined):aq.$array[aq.$offset+ag])));ag=((g[0].Inst.Out>>0));ar=g[0].Inst.Op;if(ar===(4)){$s=24;continue;}if(ar===(7)){$s=25;continue;}if(ar===(8)){$s=26;continue;}if(ar===(9)){$s=27;continue;}if(ar===(10)){$s=28;continue;}if((ar===(0))||(ar===(1))){$s=29;continue;}if(ar===(5)){$s=30;continue;}if(ar===(6)){$s=31;continue;}if(ar===(3)){$s=32;continue;}if(ar===(2)){$s=33;continue;}$s=34;continue;case 24:l=true;if(k.matchcap.$length>0){(as=k.matchcap,(0>=as.$length?($throwRuntimeError("index out of range"),undefined):as.$array[as.$offset+0]=0));(at=k.matchcap,(1>=at.$length?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+1]=d));}$s=17;continue;$s=35;continue;case 25:if(!g[0].Inst.MatchRune(u)){$s=36;continue;}$s=37;continue;case 36:$s=17;continue;case 37:$s=35;continue;case 26:if(!((u===(au=g[0].Inst.Rune,(0>=au.$length?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+0]))))){$s=38;continue;}$s=39;continue;case 38:$s=17;continue;case 39:$s=35;continue;case 27:$s=35;continue;case 28:if(u===10){$s=40;continue;}$s=41;continue;case 40:$s=17;continue;case 41:$s=35;continue;case 29:ag=((AF(g[0],u)>>0));$s=21;continue;$s=35;continue;case 30:$s=17;continue;$s=35;continue;case 31:$s=21;continue;$s=35;continue;case 32:if(!ae.match(((g[0].Inst.Arg<<24>>>24)))){$s=42;continue;}$s=43;continue;case 42:$s=17;continue;case 43:$s=21;continue;$s=35;continue;case 33:if(((g[0].Inst.Arg>>0))=av.$length)?($throwRuntimeError("index out of range"),undefined):av.$array[av.$offset+aw]=d));}$s=21;continue;$s=35;continue;case 34:$panic(new $String("bad inst"));case 35:case 23:if(y===0){$s=22;continue;}ae=W(u,v);d=d+(y)>>0;ax=v;ay=z;u=ax;y=ay;if(!((u===-1))){$s=44;continue;}$s=45;continue;case 44:ba=r.step(d+y>>0);$s=46;case 46:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}az=ba;v=az[0];z=az[1];case 45:$s=21;continue;case 22:case 17:if(!l){AA(k);$s=-1;return BV.nil;}f=$appendSlice(f,k.matchcap);AA(k);$s=-1;return f;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.doOnePass};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.doOnePass=function(a,b,c,d,e,f){return this.$val.doOnePass(a,b,c,d,e,f);};AT.ptr.prototype.doMatch=function(a,b,c){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.doExecute(a,b,c,0,0,BV.nil);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return!(e===BV.nil);}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.doMatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.doMatch=function(a,b,c){return this.$val.doMatch(a,b,c);};AT.ptr.prototype.doExecute=function(a,b,c,d,e,f){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;if(f===BV.nil){f=$subslice(new BV(AB),0,0,0);}if(!(g.onepass===CD.nil)){$s=1;continue;}$s=2;continue;case 1:h=g.doOnePass(a,b,c,d,e,f);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;case 2:if($interfaceIsEqual(a,$ifaceNil)&&(b.$length+c.length>>0)=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));if(!((g.Op===3))||((((((g.Arg<<24>>>24)))&4)>>>0)===0)){h="";i=g.Op===4;j=((a.Start>>>0));b=h;c=i;d=j;return[b,c,d];}d=g.Out;g=(k=a.Inst,((d<0||d>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+d]));while(true){if(!(g.Op===6)){break;}d=g.Out;g=(l=a.Inst,((d<0||d>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+d]));}if(!((AG(g)===7))||!((g.Rune.$length===1))){m="";n=g.Op===4;o=((a.Start>>>0));b=m;c=n;d=o;return[b,c,d];}p=new E.Builder.ptr(CE.nil,BX.nil);while(true){if(!((AG(g)===7)&&(g.Rune.$length===1)&&(((((g.Arg<<16>>>16))&1)>>>0)===0))){break;}p.WriteRune((q=g.Rune,(0>=q.$length?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+0])));r=g.Out;s=(t=a.Inst,u=g.Out,((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]));d=r;g=s;}if((g.Op===3)&&!((((((g.Arg<<24>>>24))&8)>>>0)===0))&&((v=a.Inst,w=g.Out,((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w])).Op===4)){c=true;}x=p.String();y=c;z=d;b=x;c=y;d=z;return[b,c,d];};AF=function(a,b){var a,b,c,d;c=a.Inst.MatchRunePos(b);if(c>=0){return(d=a.Next,((c<0||c>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+c]));}if(a.Inst.Op===1){return a.Inst.Out;}return 0;};AG=function(a){var a,b,c;b=a.Op;c=b;if((c===(8))||(c===(9))||(c===(10))){b=7;}return b;};AH.ptr.prototype.empty=function(){var a;a=this;return a.nextIndex>=a.size;};AH.prototype.empty=function(){return this.$val.empty();};AH.ptr.prototype.next=function(){var a,b,c,d;a=0;b=this;a=(c=b.dense,d=b.nextIndex,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]));b.nextIndex=b.nextIndex+(1)>>>0;return a;};AH.prototype.next=function(){return this.$val.next();};AH.ptr.prototype.clear=function(){var a;a=this;a.size=0;a.nextIndex=0;};AH.prototype.clear=function(){return this.$val.clear();};AH.ptr.prototype.contains=function(a){var a,b,c,d,e,f;b=this;if(a>=((b.sparse.$length>>>0))){return false;}return(c=b.sparse,((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]))=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+a])),((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]))===a);};AH.prototype.contains=function(a){return this.$val.contains(a);};AH.ptr.prototype.insert=function(a){var a,b;b=this;if(!b.contains(a)){b.insertNew(a);}};AH.prototype.insert=function(a){return this.$val.insert(a);};AH.ptr.prototype.insertNew=function(a){var a,b,c,d,e;b=this;if(a>=((b.sparse.$length>>>0))){return;}(c=b.sparse,((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]=b.size));(d=b.dense,e=b.size,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]=a));b.size=b.size+(1)>>>0;};AH.prototype.insertNew=function(a){return this.$val.insertNew(a);};AI=function(a){var a,b;b=CF.nil;b=new AH.ptr($makeSlice(BT,a),$makeSlice(BT,a),0,0);return b;};AL=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);e=[e];f=[f];g=[g];h=[h];i=[i];j=[j];k=a.$get().$length;l=b.$get().$length;if(!(((k&1)===0))||!(((l&1)===0))){$panic(new $String("mergeRuneSets odd length []rune"));}m=0;n=0;f[0]=m;j[0]=n;g[0]=$makeSlice(BS,0);h[0]=$makeSlice(BT,0);i[0]=true;$deferred.push([(function(e,f,g,h,i,j){return function(){if(!i[0]){g[0]=BS.nil;h[0]=BT.nil;}};})(e,f,g,h,i,j),[]]);e[0]=-1;o=(function(e,f,g,h,i,j){return function(o,p,q){var o,p,q,r,s,t,u,v,w;if(e[0]>0&&(r=p.$get(),s=o.$get(),((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]))<=((e[0]<0||e[0]>=g[0].$length)?($throwRuntimeError("index out of range"),undefined):g[0].$array[g[0].$offset+e[0]])){return false;}g[0]=$append(g[0],(t=p.$get(),u=o.$get(),((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u])),(v=p.$get(),w=o.$get()+1>>0,((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w])));o.$set(o.$get()+(2)>>0);e[0]=e[0]+(2)>>0;h[0]=$append(h[0],q);return true;};})(e,f,g,h,i,j);case 1:if(!(f[0]=l){$s=4;continue;}if(f[0]>=k){$s=5;continue;}if((p=b.$get(),((j[0]<0||j[0]>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+j[0]]))<(q=a.$get(),((f[0]<0||f[0]>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+f[0]]))){$s=6;continue;}$s=7;continue;case 4:r=o((f.$ptr||(f.$ptr=new CB(function(){return this.$target[0];},function($v){this.$target[0]=$v;},f))),a,c);$s=9;case 9:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}i[0]=r;$s=8;continue;case 5:s=o((j.$ptr||(j.$ptr=new CB(function(){return this.$target[0];},function($v){this.$target[0]=$v;},j))),b,d);$s=10;case 10:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}i[0]=s;$s=8;continue;case 6:t=o((j.$ptr||(j.$ptr=new CB(function(){return this.$target[0];},function($v){this.$target[0]=$v;},j))),b,d);$s=11;case 11:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}i[0]=t;$s=8;continue;case 7:u=o((f.$ptr||(f.$ptr=new CB(function(){return this.$target[0];},function($v){this.$target[0]=$v;},f))),a,c);$s=12;case 12:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}i[0]=u;case 8:case 3:if(!i[0]){$s=-1;return[AJ,AK];}$s=1;continue;case 2:$s=-1;return[g[0],h[0]];}return;}}catch(err){$err=err;$s=-1;return[BS.nil,BT.nil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AL};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AM=function(a,b){var a,b,c,d,e,f,g,h,i,j;c=b.Inst;d=0;while(true){if(!(d=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),A.Inst);g=f.Op;if((g===(0))||(g===(1))||(g===(7))){}else if((g===(2))||(g===(3))||(g===(6))||(g===(4))||(g===(5))){(h=a.Inst,((e<0||e>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+e])).Next=BT.nil;}else if((g===(8))||(g===(9))||(g===(10))){(i=a.Inst,((e<0||e>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+e])).Next=BT.nil;AD.copy((j=a.Inst,((e<0||e>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+e])),new AD.ptr($clone(f,A.Inst),BT.nil));}d++;}};AN=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=new AC.ptr($makeSlice(CG,a.Inst.$length),a.Start,a.NumCap);c=a.Inst;d=0;while(true){if(!(d=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),A.Inst);AD.copy((g=b.Inst,((e<0||e>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+e])),new AD.ptr($clone(f,A.Inst),BT.nil));d++;}h=b.Inst;i=0;while(true){if(!(i=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+j])).Inst.Op;if((l===(0))||(l===(1))){o=(m=(n=b.Inst,((j<0||j>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+j])),(m.$ptr_Out||(m.$ptr_Out=new CH(function(){return this.$target.Inst.Out;},function($v){this.$target.Inst.Out=$v;},m))));r=(p=(q=b.Inst,((j<0||j>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+j])),(p.$ptr_Arg||(p.$ptr_Arg=new CH(function(){return this.$target.Inst.Arg;},function($v){this.$target.Inst.Arg=$v;},p))));u=$clone((s=b.Inst,t=r.$get(),((t<0||t>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+t])),AD);if(!((u.Inst.Op===0)||(u.Inst.Op===1))){v=o;w=r;r=v;o=w;AD.copy(u,(x=b.Inst,y=r.$get(),((y<0||y>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+y])));if(!((u.Inst.Op===0)||(u.Inst.Op===1))){i++;continue;}}ab=$clone((z=b.Inst,aa=o.$get(),((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa])),AD);if((ab.Inst.Op===0)||(ab.Inst.Op===1)){i++;continue;}af=(ac=(ad=b.Inst,ae=r.$get(),((ae<0||ae>=ad.$length)?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+ae])),(ac.$ptr_Out||(ac.$ptr_Out=new CH(function(){return this.$target.Inst.Out;},function($v){this.$target.Inst.Out=$v;},ac))));aj=(ag=(ah=b.Inst,ai=r.$get(),((ai<0||ai>=ah.$length)?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+ai])),(ag.$ptr_Arg||(ag.$ptr_Arg=new CH(function(){return this.$target.Inst.Arg;},function($v){this.$target.Inst.Arg=$v;},ag))));ak=false;if(u.Inst.Out===((j>>>0))){ak=true;}else if(u.Inst.Arg===((j>>>0))){ak=true;al=aj;am=af;af=al;aj=am;}if(ak){af.$set(o.$get());}if(o.$get()===af.$get()){r.$set(aj.$get());}}else{i++;continue;}i++;}return b;};AO.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AO).prototype.Len=function(){return this.$get().Len();};AO.prototype.Less=function(a,b){var a,b,c;c=this;return((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a])<((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]);};$ptrType(AO).prototype.Less=function(a,b){return this.$get().Less(a,b);};AO.prototype.Swap=function(a,b){var a,b,c,d,e;c=this;d=((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]);e=((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]);((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]=d);((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]=e);};$ptrType(AO).prototype.Swap=function(a,b){return this.$get().Swap(a,b);};AR=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];d=[d];e=[e];if(a[0].Inst.$length>=1000){$s=-1;return CD.nil;}c[0]=AI(a[0].Inst.$length);e[0]=AI(a[0].Inst.$length);b[0]=$throwNilPointerError;d[0]=$makeSlice(CI,a[0].Inst.$length);b[0]=(function(a,b,c,d,e){return function $b(f,g){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=false;h=true;j=(i=a[0].Inst,((f<0||f>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+f]));if(e[0].contains(f)){$s=-1;return h;}e[0].insert(f);k=j.Inst.Op;if((k===(0))||(k===(1))){$s=2;continue;}if((k===(2))||(k===(6))){$s=3;continue;}if(k===(3)){$s=4;continue;}if((k===(4))||(k===(5))){$s=5;continue;}if(k===(7)){$s=6;continue;}if(k===(8)){$s=7;continue;}if(k===(9)){$s=8;continue;}if(k===(10)){$s=9;continue;}$s=10;continue;case 2:m=b[0](j.Inst.Out,g);$s=12;case 12:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(!(m)){l=false;$s=11;continue s;}n=b[0](j.Inst.Arg,g);$s=13;case 13:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}l=n;case 11:h=l;p=(o=j.Inst.Out,((o<0||o>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+o]));r=(q=j.Inst.Arg,((q<0||q>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+q]));if(p&&r){h=false;$s=1;continue;}if(r){s=j.Inst.Arg;t=j.Inst.Out;j.Inst.Out=s;j.Inst.Arg=t;u=r;v=p;p=u;r=v;}if(p){((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=true);j.Inst.Op=1;}x=AL($indexPtr(d[0].$array,d[0].$offset+j.Inst.Out,CJ),$indexPtr(d[0].$array,d[0].$offset+j.Inst.Arg,CJ),j.Inst.Out,j.Inst.Arg);$s=14;case 14:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=w[0]);j.Next=w[1];if(j.Next.$length>0&&((y=j.Next,(0>=y.$length?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+0]))===4294967295)){h=false;$s=1;continue;}$s=10;continue;case 3:z=b[0](j.Inst.Out,g);$s=15;case 15:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}h=z;((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=(aa=j.Inst.Out,((aa<0||aa>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+aa])));((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=$appendSlice(new BS([]),(ab=j.Inst.Out,((ab<0||ab>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+ab]))));j.Next=$makeSlice(BT,((ac=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>0:$throwRuntimeError("integer divide by zero"))+1>>0));ad=j.Next;ae=0;while(true){if(!(ae=ag.$length)?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+af]=j.Inst.Out));ae++;}$s=10;continue;case 4:ah=b[0](j.Inst.Out,g);$s=16;case 16:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}h=ah;((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=(ai=j.Inst.Out,((ai<0||ai>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+ai])));((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=$appendSlice(new BS([]),(aj=j.Inst.Out,((aj<0||aj>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+aj]))));j.Next=$makeSlice(BT,((ak=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(ak===ak&&ak!==1/0&&ak!==-1/0)?ak>>0:$throwRuntimeError("integer divide by zero"))+1>>0));al=j.Next;am=0;while(true){if(!(am=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+an]=j.Inst.Out));am++;}$s=10;continue;case 5:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=(j.Inst.Op===4));$s=10;continue;case 6:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=false);if(j.Next.$length>0){$s=1;continue;}c[0].insert(j.Inst.Out);if(j.Inst.Rune.$length===0){((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=new BS([]));j.Next=new BT([j.Inst.Out]);$s=1;continue;}ap=$makeSlice(BS,0);if((j.Inst.Rune.$length===1)&&!((((((j.Inst.Arg<<16>>>16))&1)>>>0)===0))){$s=17;continue;}$s=18;continue;case 17:ar=(aq=j.Inst.Rune,(0>=aq.$length?($throwRuntimeError("index out of range"),undefined):aq.$array[aq.$offset+0]));ap=$append(ap,ar,ar);as=F.SimpleFold(ar);while(true){if(!(!((as===ar)))){break;}ap=$append(ap,as,as);as=F.SimpleFold(as);}$r=D.Sort(($subslice(new AO(ap.$array),ap.$offset,ap.$offset+ap.$length)));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=19;continue;case 18:ap=$appendSlice(ap,j.Inst.Rune);case 19:((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=ap);j.Next=$makeSlice(BT,((at=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(at===at&&at!==1/0&&at!==-1/0)?at>>0:$throwRuntimeError("integer divide by zero"))+1>>0));au=j.Next;av=0;while(true){if(!(av=ax.$length)?($throwRuntimeError("index out of range"),undefined):ax.$array[ax.$offset+aw]=j.Inst.Out));av++;}j.Inst.Op=7;$s=10;continue;case 7:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=false);if(j.Next.$length>0){$s=1;continue;}c[0].insert(j.Inst.Out);ay=new BS([]);if(!((((((j.Inst.Arg<<16>>>16))&1)>>>0)===0))){$s=21;continue;}$s=22;continue;case 21:ba=(az=j.Inst.Rune,(0>=az.$length?($throwRuntimeError("index out of range"),undefined):az.$array[az.$offset+0]));ay=$append(ay,ba,ba);bb=F.SimpleFold(ba);while(true){if(!(!((bb===ba)))){break;}ay=$append(ay,bb,bb);bb=F.SimpleFold(bb);}$r=D.Sort(($subslice(new AO(ay.$array),ay.$offset,ay.$offset+ay.$length)));$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=23;continue;case 22:ay=$append(ay,(bc=j.Inst.Rune,(0>=bc.$length?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+0])),(bd=j.Inst.Rune,(0>=bd.$length?($throwRuntimeError("index out of range"),undefined):bd.$array[bd.$offset+0])));case 23:((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=ay);j.Next=$makeSlice(BT,((be=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(be===be&&be!==1/0&&be!==-1/0)?be>>0:$throwRuntimeError("integer divide by zero"))+1>>0));bf=j.Next;bg=0;while(true){if(!(bg=bi.$length)?($throwRuntimeError("index out of range"),undefined):bi.$array[bi.$offset+bh]=j.Inst.Out));bg++;}j.Inst.Op=7;$s=10;continue;case 8:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=false);if(j.Next.$length>0){$s=1;continue;}c[0].insert(j.Inst.Out);((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=$appendSlice(new BS([]),AQ));j.Next=new BT([j.Inst.Out]);$s=10;continue;case 9:((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=false);if(j.Next.$length>0){$s=1;continue;}c[0].insert(j.Inst.Out);((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]=$appendSlice(new BS([]),AP));j.Next=$makeSlice(BT,((bj=((f<0||f>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+f]).$length/2,(bj===bj&&bj!==1/0&&bj!==-1/0)?bj>>0:$throwRuntimeError("integer divide by zero"))+1>>0));bk=j.Next;bl=0;while(true){if(!(bl=bn.$length)?($throwRuntimeError("index out of range"),undefined):bn.$array[bn.$offset+bm]=j.Inst.Out));bl++;}case 10:case 1:$s=-1;return h;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(a,b,c,d,e);c[0].clear();c[0].insert(((a[0].Start>>>0)));f=$makeSlice(CK,a[0].Inst.$length);case 1:if(!(!c[0].empty())){$s=2;continue;}e[0].clear();g=c[0].next();h=b[0](g,f);$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!h){$s=3;continue;}$s=4;continue;case 3:a[0]=CD.nil;$s=2;continue;case 4:$s=1;continue;case 2:if(!(a[0]===CD.nil)){i=a[0].Inst;j=0;while(true){if(!(j=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+k])).Inst.Rune=((k<0||k>=d[0].$length)?($throwRuntimeError("index out of range"),undefined):d[0].$array[d[0].$offset+k]);j++;}}$s=-1;return a[0];}return;}if($f===undefined){$f={$blk:AR};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AS=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=CD.nil;if(a.Start===0){b=CD.nil;$s=-1;return b;}if(!(((c=a.Inst,d=a.Start,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).Op===3))||!(((((((e=a.Inst,f=a.Start,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f])).Arg<<24>>>24))&4)>>>0)===4))){b=CD.nil;$s=-1;return b;}g=a.Inst;h=0;case 1:if(!(h=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]),A.Inst);l=(j=a.Inst,k=i.Out,((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k])).Op;m=i.Op;if((m===(0))||(m===(1))){if((l===4)||((n=a.Inst,o=i.Arg,((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o])).Op===4)){b=CD.nil;$s=-1;return b;}}else if(m===(3)){if(l===4){if(((((i.Arg<<24>>>24))&8)>>>0)===8){h++;$s=1;continue;}b=CD.nil;$s=-1;return b;}}else if(l===4){b=CD.nil;$s=-1;return b;}h++;$s=1;continue;case 2:b=AN(a);p=AR(b);$s=3;case 3:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}b=p;if(!(b===CD.nil)){AM(b,a);}b=b;$s=-1;return b;}return;}if($f===undefined){$f={$blk:AS};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AT.ptr.prototype.String=function(){var a;a=this;return a.expr;};AT.prototype.String=function(){return this.$val.String();};AT.ptr.prototype.Copy=function(){var a,b;a=this;b=$clone(a,AT);return b;};AT.prototype.Copy=function(){return this.$val.Copy();};AU=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=AW(a,212,false);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AU};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Compile=AU;AT.ptr.prototype.Longest=function(){var a;a=this;a.longest=true;};AT.prototype.Longest=function(){return this.$val.Longest();};AW=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=A.Parse(a,b);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];if(!($interfaceIsEqual(g,$ifaceNil))){$s=-1;return[CL.nil,g];}h=f.MaxCap();i=f.CapNames();f=f.Simplify();j=A.Compile(f);k=j[0];g=j[1];if(!($interfaceIsEqual(g,$ifaceNil))){$s=-1;return[CL.nil,g];}l=k.NumCap;if(l<2){l=2;}m=AS(k);$s=2;case 2:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=new AT.ptr(a,k,m,h,0,i,"",BX.nil,0,0,0,l,false,k.StartCond(),c);if(n.onepass===CD.nil){o=k.Prefix();n.prefix=o[0];n.prefixComplete=o[1];n.maxBitStateLen=O(k);}else{p=AE(k);n.prefix=p[0];n.prefixComplete=p[1];n.prefixEnd=p[2];}if(!(n.prefix==="")){n.prefixBytes=(new BX($stringToBytes(n.prefix)));q=I.DecodeRuneInString(n.prefix);n.prefixRune=q[0];}r=k.Inst.$length;s=0;while(true){if(!(!((((s<0||s>=AX.length)?($throwRuntimeError("index out of range"),undefined):AX[s])===0))&&((s<0||s>=AX.length)?($throwRuntimeError("index out of range"),undefined):AX[s])>0;}n.mpool=s;$s=-1;return[n,$ifaceNil];}return;}if($f===undefined){$f={$blk:AW};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};AT.ptr.prototype.get=function(){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;d=(c=a.mpool,((c<0||c>=AY.length)?($throwRuntimeError("index out of range"),undefined):AY[c])).Get();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}b=$assertType(d,CO,true);e=b[0];f=b[1];if(!f){e=new T.ptr(CL.nil,CM.nil,new Q.ptr(BT.nil,CP.nil),new Q.ptr(BT.nil,CP.nil),CQ.nil,false,BV.nil,new U.ptr(new BE.ptr(BX.nil),new BD.ptr(""),new BF.ptr($ifaceNil,false,0)));}e.re=a;e.p=a.prog;if(e.matchcap.$capacity=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);i.cap=$makeSlice(BV,a.matchcap);h++;}}k=(j=a.mpool,((j<0||j>=AX.length)?($throwRuntimeError("index out of range"),undefined):AX[j]));if(k===0){k=a.prog.Inst.$length;}if(e.q0.sparse.$length=AY.length)?($throwRuntimeError("index out of range"),undefined):AY[c])).Put(a);};AT.prototype.put=function(a){return this.$val.put(a);};AZ=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=AU(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:f=e.Error();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$panic(new $String("regexp: Compile("+BB(a)+"): "+f));case 3:$s=-1;return d;}return;}if($f===undefined){$f={$blk:AZ};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.MustCompile=AZ;BB=function(a){var a;if(H.CanBackquote(a)){return"`"+a+"`";}return H.Quote(a);};AT.ptr.prototype.NumSubexp=function(){var a;a=this;return a.numSubexp;};AT.prototype.NumSubexp=function(){return this.$val.NumSubexp();};AT.ptr.prototype.SubexpNames=function(){var a;a=this;return a.subexpNames;};AT.prototype.SubexpNames=function(){return this.$val.SubexpNames();};BD.ptr.prototype.step=function(a){var a,b,c;b=this;if(a>0)),1];}return I.DecodeRuneInString($substring(b.str,a));}return[-1,0];};BD.prototype.step=function(a){return this.$val.step(a);};BD.ptr.prototype.canCheckPrefix=function(){var a;a=this;return true;};BD.prototype.canCheckPrefix=function(){return this.$val.canCheckPrefix();};BD.ptr.prototype.hasPrefix=function(a){var a,b;b=this;return E.HasPrefix(b.str,a.prefix);};BD.prototype.hasPrefix=function(a){return this.$val.hasPrefix(a);};BD.ptr.prototype.index=function(a,b){var a,b,c;c=this;return E.Index($substring(c.str,b),a.prefix);};BD.prototype.index=function(a,b){return this.$val.index(a,b);};BD.ptr.prototype.context=function(a){var a,b,c,d,e,f,g,h;b=this;c=-1;d=-1;e=c;f=d;if((((a-1>>0)>>>0))<((b.str.length>>>0))){e=((b.str.charCodeAt((a-1>>0))>>0));if(e>=128){g=I.DecodeLastRuneInString($substring(b.str,0,a));e=g[0];}}if(((a>>>0))<((b.str.length>>>0))){f=((b.str.charCodeAt(a)>>0));if(f>=128){h=I.DecodeRuneInString($substring(b.str,a));f=h[0];}}return W(e,f);};BD.prototype.context=function(a){return this.$val.context(a);};BE.ptr.prototype.step=function(a){var a,b,c,d;b=this;if(a=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]));if(d<128){return[((d>>0)),1];}return I.DecodeRune($subslice(b.str,a));}return[-1,0];};BE.prototype.step=function(a){return this.$val.step(a);};BE.ptr.prototype.canCheckPrefix=function(){var a;a=this;return true;};BE.prototype.canCheckPrefix=function(){return this.$val.canCheckPrefix();};BE.ptr.prototype.hasPrefix=function(a){var a,b;b=this;return G.HasPrefix(b.str,a.prefixBytes);};BE.prototype.hasPrefix=function(a){return this.$val.hasPrefix(a);};BE.ptr.prototype.index=function(a,b){var a,b,c;c=this;return G.Index($subslice(c.str,b),a.prefixBytes);};BE.prototype.index=function(a,b){return this.$val.index(a,b);};BE.ptr.prototype.context=function(a){var a,b,c,d,e,f,g,h,i,j,k;b=this;c=-1;d=-1;e=c;f=d;if((((a-1>>0)>>>0))<((b.str.$length>>>0))){e=(((g=b.str,h=a-1>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]))>>0));if(e>=128){i=I.DecodeLastRune($subslice(b.str,0,a));e=i[0];}}if(((a>>>0))<((b.str.$length>>>0))){f=(((j=b.str,((a<0||a>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+a]))>>0));if(f>=128){k=I.DecodeRune($subslice(b.str,a));f=k[0];}}return W(e,f);};BE.prototype.context=function(a){return this.$val.context(a);};BF.ptr.prototype.step=function(a){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(!b.atEOT&&!((a===b.pos))){$s=-1;return[-1,0];}d=b.r.ReadRune();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];g=c[2];if(!($interfaceIsEqual(g,$ifaceNil))){b.atEOT=true;$s=-1;return[-1,0];}b.pos=b.pos+(f)>>0;$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:BF.ptr.prototype.step};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BF.prototype.step=function(a){return this.$val.step(a);};BF.ptr.prototype.canCheckPrefix=function(){var a;a=this;return false;};BF.prototype.canCheckPrefix=function(){return this.$val.canCheckPrefix();};BF.ptr.prototype.hasPrefix=function(a){var a,b;b=this;return false;};BF.prototype.hasPrefix=function(a){return this.$val.hasPrefix(a);};BF.ptr.prototype.index=function(a,b){var a,b,c;c=this;return-1;};BF.prototype.index=function(a,b){return this.$val.index(a,b);};BF.ptr.prototype.context=function(a){var a,b;b=this;return new V(0,0);};BF.prototype.context=function(a){return this.$val.context(a);};AT.ptr.prototype.LiteralPrefix=function(){var a,b,c,d,e;a="";b=false;c=this;d=c.prefix;e=c.prefixComplete;a=d;b=e;return[a,b];};AT.prototype.LiteralPrefix=function(){return this.$val.LiteralPrefix();};AT.ptr.prototype.MatchReader=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doMatch(a,BX.nil,"");$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.MatchReader};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.MatchReader=function(a){return this.$val.MatchReader(a);};AT.ptr.prototype.MatchString=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doMatch($ifaceNil,BX.nil,a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.MatchString};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.MatchString=function(a){return this.$val.MatchString(a);};AT.ptr.prototype.Match=function(a){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doMatch($ifaceNil,a,"");$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.Match};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.Match=function(a){return this.$val.Match(a);};AT.ptr.prototype.ReplaceAllString=function(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];c[0]=this;d=2;if(E.Contains(b[0],"$")){d=$imul(2,((c[0].numSubexp+1>>0)));}e=c[0].replaceAll(BX.nil,a[0],d,(function(a,b,c){return function(e,f){var e,f;return c[0].expand(e,b[0],BX.nil,a[0],f);};})(a,b,c));$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=-1;return($bytesToString(f));}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.ReplaceAllString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.ReplaceAllString=function(a,b){return this.$val.ReplaceAllString(a,b);};AT.ptr.prototype.ReplaceAllLiteralString=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=this;d=c.replaceAll(BX.nil,a,2,(function(b){return function(d,e){var d,e;return $appendSlice(d,b[0]);};})(b));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return($bytesToString(d));}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.ReplaceAllLiteralString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.ReplaceAllLiteralString=function(a,b){return this.$val.ReplaceAllLiteralString(a,b);};AT.ptr.prototype.ReplaceAllStringFunc=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=this;d=c.replaceAll(BX.nil,a[0],2,(function(a,b){return function $b(d,e){var d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=d;g=b[0]($substring(a[0],(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=-1;return $appendSlice(f,h);}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};})(a,b));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=-1;return($bytesToString(e));}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.ReplaceAllStringFunc};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.ReplaceAllStringFunc=function(a,b){return this.$val.ReplaceAllStringFunc(a,b);};AT.ptr.prototype.replaceAll=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=0;g=0;h=BX.nil;i=0;if(!(a===BX.nil)){i=a.$length;}else{i=b.length;}if(c>e.prog.NumCap){c=e.prog.NumCap;}j=CR.zero();case 1:if(!(g<=i)){$s=2;continue;}k=e.doExecute($ifaceNil,a,b,g,c,$subslice(new BV(j),0,0));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(l.$length===0){$s=2;continue;}if(!(a===BX.nil)){h=$appendSlice(h,$subslice(a,f,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])));}else{h=$appendSlice(h,$substring(b,f,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])));}if((1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1])>f||((0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])===0)){$s=4;continue;}$s=5;continue;case 4:m=d(h,l);$s=6;case 6:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}h=m;case 5:f=(1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1]);n=0;if(!(a===BX.nil)){o=I.DecodeRune($subslice(a,g));n=o[1];}else{p=I.DecodeRuneInString($substring(b,g));n=p[1];}if((g+n>>0)>(1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1])){g=g+(n)>>0;}else if((g+1>>0)>(1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1])){g=g+(1)>>0;}else{g=(1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1]);}$s=1;continue;case 2:if(!(a===BX.nil)){h=$appendSlice(h,$subslice(a,f));}else{h=$appendSlice(h,$substring(b,f));}$s=-1;return h;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.replaceAll};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.replaceAll=function(a,b,c,d){return this.$val.replaceAll(a,b,c,d);};AT.ptr.prototype.ReplaceAll=function(a,b){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];d=[d];c[0]=this;e=2;if(G.IndexByte(b[0],36)>=0){e=$imul(2,((c[0].numSubexp+1>>0)));}d[0]="";f=c[0].replaceAll(a[0],"",e,(function(a,b,c,d){return function(f,g){var f,g;if(!((d[0].length===b[0].$length))){d[0]=($bytesToString(b[0]));}return c[0].expand(f,d[0],a[0],"",g);};})(a,b,c,d));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$s=-1;return g;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.ReplaceAll};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.ReplaceAll=function(a,b){return this.$val.ReplaceAll(a,b);};AT.ptr.prototype.ReplaceAllLiteral=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=this;d=c.replaceAll(a,"",2,(function(b){return function(d,e){var d,e;return $appendSlice(d,b[0]);};})(b));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.ReplaceAllLiteral};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.ReplaceAllLiteral=function(a,b){return this.$val.ReplaceAllLiteral(a,b);};AT.ptr.prototype.ReplaceAllFunc=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=this;d=c.replaceAll(a[0],"",2,(function(a,b){return function $b(d,e){var d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=d;g=b[0]($subslice(a[0],(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])));$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=-1;return $appendSlice(f,h);}return;}if($f===undefined){$f={$blk:$b};}$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};})(a,b));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.ReplaceAllFunc};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.ReplaceAllFunc=function(a,b){return this.$val.ReplaceAllFunc(a,b);};BL=function(){var a,b,c,d,e,f,g;a=(new BX($stringToBytes("\\.+*?()|[]{}^$")));b=0;while(true){if(!(b=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+b]);e=(d=c%16,d===d?d:$throwRuntimeError("integer divide by zero"));((e<0||e>=BJ.length)?($throwRuntimeError("index out of range"),undefined):BJ[e]=((((e<0||e>=BJ.length)?($throwRuntimeError("index out of range"),undefined):BJ[e])|(((f=((g=c/16,(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"))),f<32?(1<>>24)))>>>0));b++;}};AT.ptr.prototype.pad=function(a){var a,b,c;b=this;if(a===BV.nil){return BV.nil;}c=$imul(((1+b.numSubexp>>0)),2);while(true){if(!(a.$length=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1])===j){if((0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0])===l){o=false;}p=0;if(b===BX.nil){q=I.DecodeRuneInString($substring(a,j,f));p=q[1];}else{r=I.DecodeRune($subslice(b,j,f));p=r[1];}if(p>0){j=j+(p)>>0;}else{j=f+1>>0;}}else{j=(1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1]);}l=(1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1]);if(o){$s=4;continue;}$s=5;continue;case 4:$r=d(e.pad(n));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}k=k+(1)>>0;case 5:$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.allMatches};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.allMatches=function(a,b,c,d){return this.$val.allMatches(a,b,c,d);};AT.ptr.prototype.Find=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=CR.zero();d=b.doExecute($ifaceNil,a,"",0,2,$subslice(new BV(c),0,0));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===BV.nil){$s=-1;return BX.nil;}$s=-1;return $subslice(a,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]));}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.Find};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.Find=function(a){return this.$val.Find(a);};AT.ptr.prototype.FindIndex=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=BV.nil;c=this;d=c.doExecute($ifaceNil,a,"",0,2,BV.nil);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===BV.nil){b=BV.nil;$s=-1;return b;}b=$subslice(e,0,2);$s=-1;return b;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindIndex=function(a){return this.$val.FindIndex(a);};AT.ptr.prototype.FindString=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=CR.zero();d=b.doExecute($ifaceNil,BX.nil,a,0,2,$subslice(new BV(c),0,0));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===BV.nil){$s=-1;return"";}$s=-1;return $substring(a,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]));}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindString=function(a){return this.$val.FindString(a);};AT.ptr.prototype.FindStringIndex=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=BV.nil;c=this;d=c.doExecute($ifaceNil,BX.nil,a,0,2,BV.nil);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===BV.nil){b=BV.nil;$s=-1;return b;}b=$subslice(e,0,2);$s=-1;return b;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindStringIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindStringIndex=function(a){return this.$val.FindStringIndex(a);};AT.ptr.prototype.FindReaderIndex=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=BV.nil;c=this;d=c.doExecute(a,BX.nil,"",0,2,BV.nil);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===BV.nil){b=BV.nil;$s=-1;return b;}b=$subslice(e,0,2);$s=-1;return b;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindReaderIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindReaderIndex=function(a){return this.$val.FindReaderIndex(a);};AT.ptr.prototype.FindSubmatch=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=CS.zero();d=b.doExecute($ifaceNil,a,"",0,b.prog.NumCap,$subslice(new BV(c),0,0));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===BV.nil){$s=-1;return CT.nil;}f=$makeSlice(CT,(1+b.numSubexp>>0));g=f;h=0;while(true){if(!(h=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+j]))>=0){((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]=$subslice(a,(k=$imul(2,i),((k<0||k>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+k])),(l=($imul(2,i))+1>>0,((l<0||l>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+l]))));}h++;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindSubmatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindSubmatch=function(a){return this.$val.FindSubmatch(a);};AT.ptr.prototype.Expand=function(a,b,c,d){var a,b,c,d,e;e=this;return e.expand(a,($bytesToString(b)),c,"",d);};AT.prototype.Expand=function(a,b,c,d){return this.$val.Expand(a,b,c,d);};AT.ptr.prototype.ExpandString=function(a,b,c,d){var a,b,c,d,e;e=this;return e.expand(a,b,BX.nil,c,d);};AT.prototype.ExpandString=function(a,b,c,d){return this.$val.ExpandString(a,b,c,d);};AT.ptr.prototype.expand=function(a,b,c,d,e){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=this;while(true){if(!(b.length>0)){break;}g=E.Index(b,"$");if(g<0){break;}a=$appendSlice(a,$substring(b,0,g));b=$substring(b,g);if(b.length>1&&(b.charCodeAt(1)===36)){a=$append(a,36);b=$substring(b,2);continue;}h=BN(b);i=h[0];j=h[1];k=h[2];l=h[3];if(!l){a=$append(a,36);b=$substring(b,1);continue;}b=k;if(j>=0){if((($imul(2,j))+1>>0)=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+m]))>=0){if(!(c===BX.nil)){a=$appendSlice(a,$subslice(c,(n=$imul(2,j),((n<0||n>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+n])),(o=($imul(2,j))+1>>0,((o<0||o>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+o]))));}else{a=$appendSlice(a,$substring(d,(p=$imul(2,j),((p<0||p>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+p])),(q=($imul(2,j))+1>>0,((q<0||q>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+q]))));}}}else{r=f.subexpNames;s=0;while(true){if(!(s=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]);if(i===u&&(($imul(2,t))+1>>0)=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+v]))>=0){if(!(c===BX.nil)){a=$appendSlice(a,$subslice(c,(w=$imul(2,t),((w<0||w>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+w])),(x=($imul(2,t))+1>>0,((x<0||x>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+x]))));}else{a=$appendSlice(a,$substring(d,(y=$imul(2,t),((y<0||y>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+y])),(z=($imul(2,t))+1>>0,((z<0||z>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+z]))));}break;}s++;}}}a=$appendSlice(a,b);return a;};AT.prototype.expand=function(a,b,c,d,e){return this.$val.expand(a,b,c,d,e);};BN=function(a){var a,b,c,d,e,f,g,h,i,j,k;b="";c=0;d="";e=false;if(a.length<2||!((a.charCodeAt(0)===36))){return[b,c,d,e];}f=false;if(a.charCodeAt(1)===123){f=true;a=$substring(a,2);}else{a=$substring(a,1);}g=0;while(true){if(!(g>0;}if(g===0){return[b,c,d,e];}b=$substring(a,0,g);if(f){if(g>=a.length||!((a.charCodeAt(g)===125))){return[b,c,d,e];}g=g+(1)>>0;}c=0;k=0;while(true){if(!(k=100000000){c=-1;break;}c=(($imul(c,10))+((b.charCodeAt(k)>>0))>>0)-48>>0;k=k+(1)>>0;}if((b.charCodeAt(0)===48)&&b.length>1){c=-1;}d=$substring(a,g);e=true;return[b,c,d,e];};AT.ptr.prototype.FindSubmatchIndex=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doExecute($ifaceNil,a,"",0,b.prog.NumCap,BV.nil);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=b.pad(c);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindSubmatchIndex=function(a){return this.$val.FindSubmatchIndex(a);};AT.ptr.prototype.FindStringSubmatch=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=CS.zero();d=b.doExecute($ifaceNil,BX.nil,a,0,b.prog.NumCap,$subslice(new BV(c),0,0));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===BV.nil){$s=-1;return CN.nil;}f=$makeSlice(CN,(1+b.numSubexp>>0));g=f;h=0;while(true){if(!(h=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+j]))>=0){((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]=$substring(a,(k=$imul(2,i),((k<0||k>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+k])),(l=($imul(2,i))+1>>0,((l<0||l>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+l]))));}h++;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindStringSubmatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindStringSubmatch=function(a){return this.$val.FindStringSubmatch(a);};AT.ptr.prototype.FindStringSubmatchIndex=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doExecute($ifaceNil,BX.nil,a,0,b.prog.NumCap,BV.nil);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=b.pad(c);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindStringSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindStringSubmatchIndex=function(a){return this.$val.FindStringSubmatchIndex(a);};AT.ptr.prototype.FindReaderSubmatchIndex=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.doExecute(a,BX.nil,"",0,b.prog.NumCap,BV.nil);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=b.pad(c);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindReaderSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindReaderSubmatchIndex=function(a){return this.$val.FindReaderSubmatchIndex(a);};AT.ptr.prototype.FindAll=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];c=[c];d=this;if(b<0){b=a[0].$length+1>>0;}c[0]=CT.nil;$r=d.allMatches("",a[0],b,(function(a,c){return function(e){var e;if(c[0]===CT.nil){c[0]=$makeSlice(CT,0,10);}c[0]=$append(c[0],$subslice(a[0],(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])));};})(a,c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindAll};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindAll=function(a,b){return this.$val.FindAll(a,b);};AT.ptr.prototype.FindAllIndex=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;if(b<0){b=a.$length+1>>0;}c[0]=CU.nil;$r=d.allMatches("",a,b,(function(c){return function(e){var e;if(c[0]===CU.nil){c[0]=$makeSlice(CU,0,10);}c[0]=$append(c[0],$subslice(e,0,2));};})(c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindAllIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindAllIndex=function(a,b){return this.$val.FindAllIndex(a,b);};AT.ptr.prototype.FindAllString=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];c=[c];d=this;if(b<0){b=a[0].length+1>>0;}c[0]=CN.nil;$r=d.allMatches(a[0],BX.nil,b,(function(a,c){return function(e){var e;if(c[0]===CN.nil){c[0]=$makeSlice(CN,0,10);}c[0]=$append(c[0],$substring(a[0],(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])));};})(a,c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindAllString};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindAllString=function(a,b){return this.$val.FindAllString(a,b);};AT.ptr.prototype.FindAllStringIndex=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;if(b<0){b=a.length+1>>0;}c[0]=CU.nil;$r=d.allMatches(a,BX.nil,b,(function(c){return function(e){var e;if(c[0]===CU.nil){c[0]=$makeSlice(CU,0,10);}c[0]=$append(c[0],$subslice(e,0,2));};})(c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindAllStringIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindAllStringIndex=function(a,b){return this.$val.FindAllStringIndex(a,b);};AT.ptr.prototype.FindAllSubmatch=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];c=[c];d=this;if(b<0){b=a[0].$length+1>>0;}c[0]=CV.nil;$r=d.allMatches("",a[0],b,(function(a,c){return function(e){var e,f,g,h,i,j,k,l,m;if(c[0]===CV.nil){c[0]=$makeSlice(CV,0,10);}g=$makeSlice(CT,(f=e.$length/2,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero")));h=g;i=0;while(true){if(!(i=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+k]))>=0){((j<0||j>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+j]=$subslice(a[0],(l=$imul(2,j),((l<0||l>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+l])),(m=($imul(2,j))+1>>0,((m<0||m>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+m]))));}i++;}c[0]=$append(c[0],g);};})(a,c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindAllSubmatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindAllSubmatch=function(a,b){return this.$val.FindAllSubmatch(a,b);};AT.ptr.prototype.FindAllSubmatchIndex=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;if(b<0){b=a.$length+1>>0;}c[0]=CU.nil;$r=d.allMatches("",a,b,(function(c){return function(e){var e;if(c[0]===CU.nil){c[0]=$makeSlice(CU,0,10);}c[0]=$append(c[0],e);};})(c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindAllSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindAllSubmatchIndex=function(a,b){return this.$val.FindAllSubmatchIndex(a,b);};AT.ptr.prototype.FindAllStringSubmatch=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];c=[c];d=this;if(b<0){b=a[0].length+1>>0;}c[0]=CW.nil;$r=d.allMatches(a[0],BX.nil,b,(function(a,c){return function(e){var e,f,g,h,i,j,k,l,m;if(c[0]===CW.nil){c[0]=$makeSlice(CW,0,10);}g=$makeSlice(CN,(f=e.$length/2,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero")));h=g;i=0;while(true){if(!(i=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+k]))>=0){((j<0||j>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+j]=$substring(a[0],(l=$imul(2,j),((l<0||l>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+l])),(m=($imul(2,j))+1>>0,((m<0||m>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+m]))));}i++;}c[0]=$append(c[0],g);};})(a,c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindAllStringSubmatch};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindAllStringSubmatch=function(a,b){return this.$val.FindAllStringSubmatch(a,b);};AT.ptr.prototype.FindAllStringSubmatchIndex=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=this;if(b<0){b=a.length+1>>0;}c[0]=CU.nil;$r=d.allMatches(a,BX.nil,b,(function(c){return function(e){var e;if(c[0]===CU.nil){c[0]=$makeSlice(CU,0,10);}c[0]=$append(c[0],e);};})(c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c[0];}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.FindAllStringSubmatchIndex};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.FindAllStringSubmatchIndex=function(a,b){return this.$val.FindAllStringSubmatchIndex(a,b);};AT.ptr.prototype.Split=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(b===0){$s=-1;return CN.nil;}if(c.expr.length>0&&(a.length===0)){$s=-1;return new CN([""]);}d=c.FindAllStringIndex(a,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=$makeSlice(CN,0,e.$length);g=0;h=0;i=e;j=0;while(true){if(!(j=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);if(b>0&&f.$length>=(b-1>>0)){break;}h=(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0]);if(!(((1>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+1])===0))){f=$append(f,$substring(a,g,h));}g=(1>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+1]);j++;}if(!((h===a.length))){f=$append(f,$substring(a,g));}$s=-1;return f;}return;}if($f===undefined){$f={$blk:AT.ptr.prototype.Split};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AT.prototype.Split=function(a,b){return this.$val.Split(a,b);};BU.methods=[{prop:"reset",name:"reset",pkg:"regexp",typ:$funcType([CM,$Int,$Int],[],false)},{prop:"shouldVisit",name:"shouldVisit",pkg:"regexp",typ:$funcType([$Uint32,$Int],[$Bool],false)},{prop:"push",name:"push",pkg:"regexp",typ:$funcType([CL,$Uint32,$Int,$Bool],[],false)}];CO.methods=[{prop:"init",name:"init",pkg:"regexp",typ:$funcType([$Int],[],false)},{prop:"alloc",name:"alloc",pkg:"regexp",typ:$funcType([BZ],[BY],false)},{prop:"match",name:"match",pkg:"regexp",typ:$funcType([BC,$Int],[$Bool],false)},{prop:"clear",name:"clear",pkg:"regexp",typ:$funcType([CX],[],false)},{prop:"step",name:"step",pkg:"regexp",typ:$funcType([CX,CX,$Int,$Int,$Int32,CA],[],false)},{prop:"add",name:"add",pkg:"regexp",typ:$funcType([CX,$Uint32,$Int,BV,CA,BY],[BY],false)}];CY.methods=[{prop:"newBytes",name:"newBytes",pkg:"regexp",typ:$funcType([BX],[BC],false)},{prop:"newString",name:"newString",pkg:"regexp",typ:$funcType([$String],[BC],false)},{prop:"newReader",name:"newReader",pkg:"regexp",typ:$funcType([C.RuneReader],[BC],false)},{prop:"clear",name:"clear",pkg:"regexp",typ:$funcType([],[],false)},{prop:"init",name:"init",pkg:"regexp",typ:$funcType([C.RuneReader,BX,$String],[BC,$Int],false)}];V.methods=[{prop:"match",name:"match",pkg:"regexp",typ:$funcType([A.EmptyOp],[$Bool],false)}];CF.methods=[{prop:"empty",name:"empty",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"next",name:"next",pkg:"regexp",typ:$funcType([],[$Uint32],false)},{prop:"clear",name:"clear",pkg:"regexp",typ:$funcType([],[],false)},{prop:"contains",name:"contains",pkg:"regexp",typ:$funcType([$Uint32],[$Bool],false)},{prop:"insert",name:"insert",pkg:"regexp",typ:$funcType([$Uint32],[],false)},{prop:"insertNew",name:"insertNew",pkg:"regexp",typ:$funcType([$Uint32],[],false)}];AO.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)}];CL.methods=[{prop:"tryBacktrack",name:"tryBacktrack",pkg:"regexp",typ:$funcType([BU,BC,$Uint32,$Int],[$Bool],false)},{prop:"backtrack",name:"backtrack",pkg:"regexp",typ:$funcType([BX,$String,$Int,$Int,BV],[BV],false)},{prop:"doOnePass",name:"doOnePass",pkg:"regexp",typ:$funcType([C.RuneReader,BX,$String,$Int,$Int,BV],[BV],false)},{prop:"doMatch",name:"doMatch",pkg:"regexp",typ:$funcType([C.RuneReader,BX,$String],[$Bool],false)},{prop:"doExecute",name:"doExecute",pkg:"regexp",typ:$funcType([C.RuneReader,BX,$String,$Int,$Int,BV],[BV],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Copy",name:"Copy",pkg:"",typ:$funcType([],[CL],false)},{prop:"Longest",name:"Longest",pkg:"",typ:$funcType([],[],false)},{prop:"get",name:"get",pkg:"regexp",typ:$funcType([],[CO],false)},{prop:"put",name:"put",pkg:"regexp",typ:$funcType([CO],[],false)},{prop:"NumSubexp",name:"NumSubexp",pkg:"",typ:$funcType([],[$Int],false)},{prop:"SubexpNames",name:"SubexpNames",pkg:"",typ:$funcType([],[CN],false)},{prop:"LiteralPrefix",name:"LiteralPrefix",pkg:"",typ:$funcType([],[$String,$Bool],false)},{prop:"MatchReader",name:"MatchReader",pkg:"",typ:$funcType([C.RuneReader],[$Bool],false)},{prop:"MatchString",name:"MatchString",pkg:"",typ:$funcType([$String],[$Bool],false)},{prop:"Match",name:"Match",pkg:"",typ:$funcType([BX],[$Bool],false)},{prop:"ReplaceAllString",name:"ReplaceAllString",pkg:"",typ:$funcType([$String,$String],[$String],false)},{prop:"ReplaceAllLiteralString",name:"ReplaceAllLiteralString",pkg:"",typ:$funcType([$String,$String],[$String],false)},{prop:"ReplaceAllStringFunc",name:"ReplaceAllStringFunc",pkg:"",typ:$funcType([$String,CZ],[$String],false)},{prop:"replaceAll",name:"replaceAll",pkg:"regexp",typ:$funcType([BX,$String,$Int,DA],[BX],false)},{prop:"ReplaceAll",name:"ReplaceAll",pkg:"",typ:$funcType([BX,BX],[BX],false)},{prop:"ReplaceAllLiteral",name:"ReplaceAllLiteral",pkg:"",typ:$funcType([BX,BX],[BX],false)},{prop:"ReplaceAllFunc",name:"ReplaceAllFunc",pkg:"",typ:$funcType([BX,DB],[BX],false)},{prop:"pad",name:"pad",pkg:"regexp",typ:$funcType([BV],[BV],false)},{prop:"allMatches",name:"allMatches",pkg:"regexp",typ:$funcType([$String,BX,$Int,DC],[],false)},{prop:"Find",name:"Find",pkg:"",typ:$funcType([BX],[BX],false)},{prop:"FindIndex",name:"FindIndex",pkg:"",typ:$funcType([BX],[BV],false)},{prop:"FindString",name:"FindString",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"FindStringIndex",name:"FindStringIndex",pkg:"",typ:$funcType([$String],[BV],false)},{prop:"FindReaderIndex",name:"FindReaderIndex",pkg:"",typ:$funcType([C.RuneReader],[BV],false)},{prop:"FindSubmatch",name:"FindSubmatch",pkg:"",typ:$funcType([BX],[CT],false)},{prop:"Expand",name:"Expand",pkg:"",typ:$funcType([BX,BX,BX,BV],[BX],false)},{prop:"ExpandString",name:"ExpandString",pkg:"",typ:$funcType([BX,$String,$String,BV],[BX],false)},{prop:"expand",name:"expand",pkg:"regexp",typ:$funcType([BX,$String,BX,$String,BV],[BX],false)},{prop:"FindSubmatchIndex",name:"FindSubmatchIndex",pkg:"",typ:$funcType([BX],[BV],false)},{prop:"FindStringSubmatch",name:"FindStringSubmatch",pkg:"",typ:$funcType([$String],[CN],false)},{prop:"FindStringSubmatchIndex",name:"FindStringSubmatchIndex",pkg:"",typ:$funcType([$String],[BV],false)},{prop:"FindReaderSubmatchIndex",name:"FindReaderSubmatchIndex",pkg:"",typ:$funcType([C.RuneReader],[BV],false)},{prop:"FindAll",name:"FindAll",pkg:"",typ:$funcType([BX,$Int],[CT],false)},{prop:"FindAllIndex",name:"FindAllIndex",pkg:"",typ:$funcType([BX,$Int],[CU],false)},{prop:"FindAllString",name:"FindAllString",pkg:"",typ:$funcType([$String,$Int],[CN],false)},{prop:"FindAllStringIndex",name:"FindAllStringIndex",pkg:"",typ:$funcType([$String,$Int],[CU],false)},{prop:"FindAllSubmatch",name:"FindAllSubmatch",pkg:"",typ:$funcType([BX,$Int],[CV],false)},{prop:"FindAllSubmatchIndex",name:"FindAllSubmatchIndex",pkg:"",typ:$funcType([BX,$Int],[CU],false)},{prop:"FindAllStringSubmatch",name:"FindAllStringSubmatch",pkg:"",typ:$funcType([$String,$Int],[CW],false)},{prop:"FindAllStringSubmatchIndex",name:"FindAllStringSubmatchIndex",pkg:"",typ:$funcType([$String,$Int],[CU],false)},{prop:"Split",name:"Split",pkg:"",typ:$funcType([$String,$Int],[CN],false)}];DD.methods=[{prop:"step",name:"step",pkg:"regexp",typ:$funcType([$Int],[$Int32,$Int],false)},{prop:"canCheckPrefix",name:"canCheckPrefix",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"hasPrefix",name:"hasPrefix",pkg:"regexp",typ:$funcType([CL],[$Bool],false)},{prop:"index",name:"index",pkg:"regexp",typ:$funcType([CL,$Int],[$Int],false)},{prop:"context",name:"context",pkg:"regexp",typ:$funcType([$Int],[V],false)}];DE.methods=[{prop:"step",name:"step",pkg:"regexp",typ:$funcType([$Int],[$Int32,$Int],false)},{prop:"canCheckPrefix",name:"canCheckPrefix",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"hasPrefix",name:"hasPrefix",pkg:"regexp",typ:$funcType([CL],[$Bool],false)},{prop:"index",name:"index",pkg:"regexp",typ:$funcType([CL,$Int],[$Int],false)},{prop:"context",name:"context",pkg:"regexp",typ:$funcType([$Int],[V],false)}];DF.methods=[{prop:"step",name:"step",pkg:"regexp",typ:$funcType([$Int],[$Int32,$Int],false)},{prop:"canCheckPrefix",name:"canCheckPrefix",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"hasPrefix",name:"hasPrefix",pkg:"regexp",typ:$funcType([CL],[$Bool],false)},{prop:"index",name:"index",pkg:"regexp",typ:$funcType([CL,$Int],[$Int],false)},{prop:"context",name:"context",pkg:"regexp",typ:$funcType([$Int],[V],false)}];J.init("regexp",[{prop:"pc",name:"pc",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"arg",name:"arg",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"pos",name:"pos",embedded:false,exported:false,typ:$Int,tag:""}]);K.init("regexp",[{prop:"end",name:"end",embedded:false,exported:false,typ:$Int,tag:""},{prop:"cap",name:"cap",embedded:false,exported:false,typ:BV,tag:""},{prop:"matchcap",name:"matchcap",embedded:false,exported:false,typ:BV,tag:""},{prop:"jobs",name:"jobs",embedded:false,exported:false,typ:BW,tag:""},{prop:"visited",name:"visited",embedded:false,exported:false,typ:BT,tag:""},{prop:"inputs",name:"inputs",embedded:false,exported:false,typ:U,tag:""}]);Q.init("regexp",[{prop:"sparse",name:"sparse",embedded:false,exported:false,typ:BT,tag:""},{prop:"dense",name:"dense",embedded:false,exported:false,typ:CP,tag:""}]);R.init("regexp",[{prop:"pc",name:"pc",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"t",name:"t",embedded:false,exported:false,typ:BY,tag:""}]);S.init("regexp",[{prop:"inst",name:"inst",embedded:false,exported:false,typ:BZ,tag:""},{prop:"cap",name:"cap",embedded:false,exported:false,typ:BV,tag:""}]);T.init("regexp",[{prop:"re",name:"re",embedded:false,exported:false,typ:CL,tag:""},{prop:"p",name:"p",embedded:false,exported:false,typ:CM,tag:""},{prop:"q0",name:"q0",embedded:false,exported:false,typ:Q,tag:""},{prop:"q1",name:"q1",embedded:false,exported:false,typ:Q,tag:""},{prop:"pool",name:"pool",embedded:false,exported:false,typ:CQ,tag:""},{prop:"matched",name:"matched",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"matchcap",name:"matchcap",embedded:false,exported:false,typ:BV,tag:""},{prop:"inputs",name:"inputs",embedded:false,exported:false,typ:U,tag:""}]);U.init("regexp",[{prop:"bytes",name:"bytes",embedded:false,exported:false,typ:BE,tag:""},{prop:"string",name:"string",embedded:false,exported:false,typ:BD,tag:""},{prop:"reader",name:"reader",embedded:false,exported:false,typ:BF,tag:""}]);X.init("regexp",[{prop:"inputs",name:"inputs",embedded:false,exported:false,typ:U,tag:""},{prop:"matchcap",name:"matchcap",embedded:false,exported:false,typ:BV,tag:""}]);AC.init("",[{prop:"Inst",name:"Inst",embedded:false,exported:true,typ:CG,tag:""},{prop:"Start",name:"Start",embedded:false,exported:true,typ:$Int,tag:""},{prop:"NumCap",name:"NumCap",embedded:false,exported:true,typ:$Int,tag:""}]);AD.init("",[{prop:"Inst",name:"Inst",embedded:true,exported:true,typ:A.Inst,tag:""},{prop:"Next",name:"Next",embedded:false,exported:true,typ:BT,tag:""}]);AH.init("regexp",[{prop:"sparse",name:"sparse",embedded:false,exported:false,typ:BT,tag:""},{prop:"dense",name:"dense",embedded:false,exported:false,typ:BT,tag:""},{prop:"size",name:"size",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"nextIndex",name:"nextIndex",embedded:false,exported:false,typ:$Uint32,tag:""}]);AO.init($Int32);AT.init("regexp",[{prop:"expr",name:"expr",embedded:false,exported:false,typ:$String,tag:""},{prop:"prog",name:"prog",embedded:false,exported:false,typ:CM,tag:""},{prop:"onepass",name:"onepass",embedded:false,exported:false,typ:CD,tag:""},{prop:"numSubexp",name:"numSubexp",embedded:false,exported:false,typ:$Int,tag:""},{prop:"maxBitStateLen",name:"maxBitStateLen",embedded:false,exported:false,typ:$Int,tag:""},{prop:"subexpNames",name:"subexpNames",embedded:false,exported:false,typ:CN,tag:""},{prop:"prefix",name:"prefix",embedded:false,exported:false,typ:$String,tag:""},{prop:"prefixBytes",name:"prefixBytes",embedded:false,exported:false,typ:BX,tag:""},{prop:"prefixRune",name:"prefixRune",embedded:false,exported:false,typ:$Int32,tag:""},{prop:"prefixEnd",name:"prefixEnd",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"mpool",name:"mpool",embedded:false,exported:false,typ:$Int,tag:""},{prop:"matchcap",name:"matchcap",embedded:false,exported:false,typ:$Int,tag:""},{prop:"prefixComplete",name:"prefixComplete",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"cond",name:"cond",embedded:false,exported:false,typ:A.EmptyOp,tag:""},{prop:"longest",name:"longest",embedded:false,exported:false,typ:$Bool,tag:""}]);BC.init([{prop:"canCheckPrefix",name:"canCheckPrefix",pkg:"regexp",typ:$funcType([],[$Bool],false)},{prop:"context",name:"context",pkg:"regexp",typ:$funcType([$Int],[V],false)},{prop:"hasPrefix",name:"hasPrefix",pkg:"regexp",typ:$funcType([CL],[$Bool],false)},{prop:"index",name:"index",pkg:"regexp",typ:$funcType([CL,$Int],[$Int],false)},{prop:"step",name:"step",pkg:"regexp",typ:$funcType([$Int],[$Int32,$Int],false)}]);BD.init("regexp",[{prop:"str",name:"str",embedded:false,exported:false,typ:$String,tag:""}]);BE.init("regexp",[{prop:"str",name:"str",embedded:false,exported:false,typ:BX,tag:""}]);BF.init("regexp",[{prop:"r",name:"r",embedded:false,exported:false,typ:C.RuneReader,tag:""},{prop:"atEOT",name:"atEOT",embedded:false,exported:false,typ:$Bool,tag:""},{prop:"pos",name:"pos",embedded:false,exported:false,typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=G.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}L=new B.Pool.ptr(BO.nil,$throwNilPointerError);Y=new B.Pool.ptr(BO.nil,$throwNilPointerError);AB=BP.zero();AY=BQ.zero();BJ=BR.zero();AJ=new BS([]);AK=new BT([4294967295]);AP=new BS([0,9,11,1114111]);AQ=new BS([0,1114111]);AX=$toNativeArray($kindInt,[128,512,2048,16384,0]);BL();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})(); $packages["github.com/v2fly/BrowserBridge/vendor/github.com/lunixbochs/struc"]=(function(){var $pkg={},$init,F,A,I,G,B,D,C,J,E,H,K,L,M,N,O,Q,R,V,AF,AP,AT,AU,AW,AY,AZ,BA,BB,BC,BD,BE,BF,BG,X,AA,AB,AC,AG,AQ,AR,AV,a,W,Y,Z,AD,AE,AH,AI,AL,AM,AS;F=$packages["bytes"];A=$packages["encoding/binary"];I=$packages["errors"];G=$packages["fmt"];B=$packages["io"];D=$packages["math"];C=$packages["reflect"];J=$packages["regexp"];E=$packages["strconv"];H=$packages["strings"];K=$packages["sync"];L=$pkg.byteWriter=$newType(0,$kindStruct,"struc.byteWriter",true,"github.com/v2fly/BrowserBridge/vendor/github.com/lunixbochs/struc",false,function(buf_,pos_){this.$val=this;if(arguments.length===0){this.buf=AW.nil;this.pos=0;return;}this.buf=buf_;this.pos=pos_;});M=$pkg.binaryFallback=$newType(0,$kindStruct,"struc.binaryFallback",true,"github.com/v2fly/BrowserBridge/vendor/github.com/lunixbochs/struc",false,function(typ_,ptr_,flag_){this.$val=this;if(arguments.length===0){this.typ=BB.nil;this.ptr=0;this.flag=0;return;}this.typ=typ_;this.ptr=ptr_;this.flag=flag_;});N=$pkg.Custom=$newType(8,$kindInterface,"struc.Custom",true,"github.com/v2fly/BrowserBridge/vendor/github.com/lunixbochs/struc",true,null);O=$pkg.customFallback=$newType(0,$kindStruct,"struc.customFallback",true,"github.com/v2fly/BrowserBridge/vendor/github.com/lunixbochs/struc",false,function(custom_){this.$val=this;if(arguments.length===0){this.custom=$ifaceNil;return;}this.custom=custom_;});Q=$pkg.Field=$newType(0,$kindStruct,"struc.Field",true,"github.com/v2fly/BrowserBridge/vendor/github.com/lunixbochs/struc",true,function(Name_,Ptr_,Index_,Type_,defType_,Array_,Slice_,Len_,Order_,Sizeof_,Sizefrom_,Fields_,kind_){this.$val=this;if(arguments.length===0){this.Name="";this.Ptr=false;this.Index=0;this.Type=0;this.defType=0;this.Array=false;this.Slice=false;this.Len=0;this.Order=$ifaceNil;this.Sizeof=AZ.nil;this.Sizefrom=AZ.nil;this.Fields=R.nil;this.kind=0;return;}this.Name=Name_;this.Ptr=Ptr_;this.Index=Index_;this.Type=Type_;this.defType=defType_;this.Array=Array_;this.Slice=Slice_;this.Len=Len_;this.Order=Order_;this.Sizeof=Sizeof_;this.Sizefrom=Sizefrom_;this.Fields=Fields_;this.kind=kind_;});R=$pkg.Fields=$newType(12,$kindSlice,"struc.Fields",true,"github.com/v2fly/BrowserBridge/vendor/github.com/lunixbochs/struc",true,null);V=$pkg.strucTag=$newType(0,$kindStruct,"struc.strucTag",true,"github.com/v2fly/BrowserBridge/vendor/github.com/lunixbochs/struc",false,function(Type_,Order_,Sizeof_,Skip_,Sizefrom_){this.$val=this;if(arguments.length===0){this.Type="";this.Order=$ifaceNil;this.Sizeof="";this.Skip=false;this.Sizefrom="";return;}this.Type=Type_;this.Order=Order_;this.Sizeof=Sizeof_;this.Skip=Skip_;this.Sizefrom=Sizefrom_;});AF=$pkg.Options=$newType(0,$kindStruct,"struc.Options",true,"github.com/v2fly/BrowserBridge/vendor/github.com/lunixbochs/struc",true,function(ByteAlign_,PtrSize_,Order_){this.$val=this;if(arguments.length===0){this.ByteAlign=0;this.PtrSize=0;this.Order=$ifaceNil;return;}this.ByteAlign=ByteAlign_;this.PtrSize=PtrSize_;this.Order=Order_;});AP=$pkg.Type=$newType(4,$kindInt,"struc.Type",true,"github.com/v2fly/BrowserBridge/vendor/github.com/lunixbochs/struc",true,null);AT=$pkg.Size_t=$newType(8,$kindUint64,"struc.Size_t",true,"github.com/v2fly/BrowserBridge/vendor/github.com/lunixbochs/struc",true,null);AU=$pkg.Off_t=$newType(8,$kindInt64,"struc.Off_t",true,"github.com/v2fly/BrowserBridge/vendor/github.com/lunixbochs/struc",true,null);AW=$sliceType($Uint8);AY=$sliceType($emptyInterface);AZ=$sliceType($Int);BA=$sliceType(C.Value);BB=$ptrType(C.rtype);BC=$ptrType(Q);BD=$sliceType($String);BE=$arrayType($Uint8,8);BF=$ptrType(V);BG=$ptrType(AF);L.ptr.prototype.Write=function(b){var b,c,d;c=this;d=c.buf.$length-c.pos>>0;if(d0){$copySlice($subslice(c.buf,c.pos),b);c.pos=c.pos+(b.$length)>>0;}return[b.$length,$ifaceNil];};L.prototype.Write=function(b){return this.$val.Write(b);};M.ptr.prototype.String=function(){var b;b=this;return $clone(b,M).String();};M.prototype.String=function(){return this.$val.String();};M.ptr.prototype.Sizeof=function(b,c){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(b,C.Value).Interface();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=A.Size(e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Sizeof};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Sizeof=function(b,c){return this.$val.Sizeof(b,c);};M.ptr.prototype.Pack=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=new L.ptr(b,0);h=(g=A.BigEndian,new g.constructor.elem(g));if(!($interfaceIsEqual(d.Order,$ifaceNil))){h=d.Order;}i=new f.constructor.elem(f);j=h;k=$clone(c,C.Value).Interface();$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;m=A.Write(i,j,l);$s=2;case 2:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$s=-1;return[f.pos,n];}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Pack};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Pack=function(b,c,d){return this.$val.Pack(b,c,d);};M.ptr.prototype.Unpack=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;g=(f=A.BigEndian,new f.constructor.elem(f));if(!($interfaceIsEqual(d.Order,$ifaceNil))){g=d.Order;}h=b;i=g;j=$clone(c,C.Value).Interface();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;l=A.Read(h,i,k);$s=2;case 2:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return l;}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Unpack};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Unpack=function(b,c,d){return this.$val.Unpack(b,c,d);};O.ptr.prototype.Pack=function(b,c,d){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=e.custom.Pack(b,d);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Pack};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Pack=function(b,c,d){return this.$val.Pack(b,c,d);};O.ptr.prototype.Unpack=function(b,c,d){var b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=e.custom.Unpack(b,1,d);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Unpack};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Unpack=function(b,c,d){return this.$val.Unpack(b,c,d);};O.ptr.prototype.Sizeof=function(b,c){var b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.custom.Size(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.Sizeof};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.Sizeof=function(b,c){return this.$val.Sizeof(b,c);};O.ptr.prototype.String=function(){var b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.custom.String();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.String};}$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.String=function(){return this.$val.String();};Q.ptr.prototype.String=function(){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c="";if(b.Type===1){$s=1;continue;}$s=2;continue;case 1:d=G.Sprintf("{type: Pad, len: %d}",new AY([new $Int(b.Len)]));$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 2:e=G.Sprintf("type: %s, order: %v",new AY([new $String(new AP(b.Type).String()),b.Order]));$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}c=e;case 3:if(!(b.Sizefrom===AZ.nil)){$s=6;continue;}if(b.Len>0){$s=7;continue;}$s=8;continue;case 6:f=G.Sprintf(", sizefrom: %v",new AY([b.Sizefrom]));$s=9;case 9:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}c=c+(f);$s=8;continue;case 7:g=G.Sprintf(", len: %d",new AY([new $Int(b.Len)]));$s=10;case 10:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}c=c+(g);case 8:if(!(b.Sizeof===AZ.nil)){$s=11;continue;}$s=12;continue;case 11:h=G.Sprintf(", sizeof: %v",new AY([b.Sizeof]));$s=13;case 13:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}c=c+(h);case 12:$s=-1;return"{"+c+"}";}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.String};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.String=function(){return this.$val.String();};Q.ptr.prototype.Size=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=new AP(d.Type).Resolve(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=0;if(f===15){$s=2;continue;}if(f===1){$s=3;continue;}if(d.Slice||(d.kind===24)){$s=4;continue;}if(f===19){$s=5;continue;}$s=6;continue;case 2:h=new BA([$clone(b,C.Value)]);if(d.Slice){$s=8;continue;}$s=9;continue;case 8:h=$makeSlice(BA,$clone(b,C.Value).Len());i=0;case 10:if(!(i<$clone(b,C.Value).Len())){$s=11;continue;}j=$clone(b,C.Value).Index(i);$s=12;case 12:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]=j);i=i+(1)>>0;$s=10;continue;case 11:case 9:k=h;l=0;case 13:if(!(l=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]);n=d.Fields.Sizeof($clone(m,C.Value),c);$s=15;case 15:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}g=g+(n)>>0;l++;$s=13;continue;case 14:$s=7;continue;case 3:g=d.Len;$s=7;continue;case 4:o=$clone(b,C.Value).Len();if(d.Len>1){o=d.Len;}g=$imul(o,new AP(f).Size());$s=7;continue;case 5:p=$clone($clone(b,C.Value).Addr(),C.Value).Interface();$s=16;case 16:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=$assertType(p,N).Size(c);$s=17;case 17:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$s=-1;return q;case 6:g=new AP(f).Size();case 7:r=c.ByteAlign;if(r>0&&g=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]=1);}else{(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]=0);}$s=20;continue;case 16:(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]=((p.$low<<24>>>24)));$s=20;continue;case 17:$r=i.PutUint16(b,((p.$low<<16>>>16)));$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=20;continue;case 18:$r=i.PutUint32(b,((p.$low>>>0)));$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=20;continue;case 19:$r=i.PutUint64(b,(p));$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 20:case 14:$s=12;continue;case 8:f=new AP(l).Size();t=$clone(c,C.Value).Float();u=l;if(u===(12)){$s=25;continue;}if(u===(13)){$s=26;continue;}$s=27;continue;case 25:$r=i.PutUint32(b,D.Float32bits(($fround(t))));$s=28;case 28:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=27;continue;case 26:$r=i.PutUint64(b,D.Float64bits(t));$s=29;case 29:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 27:case 24:$s=12;continue;case 9:v=h.kind;if(v===(24)){$s=31;continue;}$s=32;continue;case 31:f=$clone(c,C.Value).Len();w=$clone(c,C.Value).String();$s=34;case 34:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}$copySlice(b,(new AW($stringToBytes(w))));$s=33;continue;case 32:f=$clone(c,C.Value).Len();x=$clone(c,C.Value).Bytes();$s=35;case 35:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}$copySlice(b,x);case 33:case 30:$s=12;continue;case 10:z=$clone($clone(c,C.Value).Addr(),C.Value).Interface();$s=36;case 36:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=$assertType(z,N).Pack(b,e);$s=37;case 37:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}y=aa;f=y[0];g=y[1];$s=-1;return[f,g];case 11:ab=G.Sprintf("no pack handler for type: %s",new AY([new AP(l)]));$s=38;case 38:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}$panic(new $String(ab));case 12:case 5:$s=-1;return[f,g];}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.packVal};}$f.aa=aa;$f.ab=ab;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.packVal=function(b,c,d,e){return this.$val.packVal(b,c,d,e);};Q.ptr.prototype.Pack=function(b,c,d,e){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=new AP(f.Type).Resolve(e);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(h===1){i=0;while(true){if(!(i=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+i]=0);i=i+(1)>>0;}$s=-1;return[d,$ifaceNil];}if(f.Slice){$s=2;continue;}$s=3;continue;case 2:j=$clone(c,C.Value).Len();if(!f.Array&&(h===5)&&((f.defType===5)||(f.kind===24))){$s=5;continue;}$s=6;continue;case 5:k=AW.nil;if(f.kind===24){$s=7;continue;}$s=8;continue;case 7:l=$clone(c,C.Value).String();$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=(new AW($stringToBytes(l)));$s=9;continue;case 8:m=$clone(c,C.Value).Bytes();$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}k=m;case 9:$copySlice(b,k);if(j>0);$copySlice($subslice(b,j),n);$s=-1;return[d,$ifaceNil];}$s=-1;return[$clone(c,C.Value).Len(),$ifaceNil];case 6:o=0;p=new C.Value.ptr(BB.nil,0,0);if(j>0;}s=s+(1)>>0;$s=16;continue;case 17:$s=-1;return[o,$ifaceNil];case 3:z=f.packVal(b,$clone(c,C.Value),d,e);$s=22;case 22:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}$s=-1;return z;case 4:$s=-1;return[0,$ifaceNil];}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.Pack};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.Pack=function(b,c,d,e){return this.$val.Pack(b,c,d,e);};Q.ptr.prototype.unpackVal=function(b,c,d,e){var aa,ab,ac,ad,ae,af,ag,ah,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=f.Order;if(!($interfaceIsEqual(e.Order,$ifaceNil))){g=e.Order;}if(f.Ptr){$s=1;continue;}$s=2;continue;case 1:h=$clone(c,C.Value).Elem();$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}c=h;case 2:i=new AP(f.Type).Resolve(e);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;k=j;if((k===(12))||(k===(13))){$s=6;continue;}if((k===(2))||(k===(4))||(k===(6))||(k===(8))||(k===(10))||(k===(5))||(k===(7))||(k===(9))||(k===(11))){$s=7;continue;}$s=8;continue;case 6:l=0;m=j;if(m===(12)){$s=11;continue;}if(m===(13)){$s=12;continue;}$s=13;continue;case 11:n=g.Uint32(b);$s=14;case 14:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=D.Float32frombits(n);$s=15;case 15:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}l=(o);$s=13;continue;case 12:p=g.Uint64(b);$s=16;case 16:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=D.Float64frombits(p);$s=17;case 17:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}l=q;case 13:case 10:r=f.kind;if((r===(13))||(r===(14))){$s=19;continue;}$s=20;continue;case 19:$clone(c,C.Value).SetFloat(l);$s=21;continue;case 20:s=G.Errorf("struc: refusing to unpack float into field %s of type %s",new AY([new $String(f.Name),new $String(new C.Kind(f.kind).String())]));$s=22;case 22:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}$s=-1;return s;case 21:case 18:$s=9;continue;case 7:t=new $Uint64(0,0);u=j;if(u===(4)){$s=24;continue;}if(u===(6)){$s=25;continue;}if(u===(8)){$s=26;continue;}if(u===(10)){$s=27;continue;}if((u===(2))||(u===(5))){$s=28;continue;}if(u===(7)){$s=29;continue;}if(u===(9)){$s=30;continue;}if(u===(11)){$s=31;continue;}$s=32;continue;case 24:t=((v=(new $Int64(0,(((0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])<<24>>24)))),new $Uint64(v.$high,v.$low)));$s=32;continue;case 25:x=g.Uint16(b);$s=33;case 33:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}t=((w=(new $Int64(0,((x<<16>>16)))),new $Uint64(w.$high,w.$low)));$s=32;continue;case 26:z=g.Uint32(b);$s=34;case 34:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}t=((y=(new $Int64(0,((z>>0)))),new $Uint64(y.$high,y.$low)));$s=32;continue;case 27:ac=g.Uint64(b);$s=35;case 35:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}t=((aa=((ab=ac,new $Int64(ab.$high,ab.$low))),new $Uint64(aa.$high,aa.$low)));$s=32;continue;case 28:t=(new $Uint64(0,(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])));$s=32;continue;case 29:ad=g.Uint16(b);$s=36;case 36:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}t=(new $Uint64(0,ad));$s=32;continue;case 30:ae=g.Uint32(b);$s=37;case 37:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}t=(new $Uint64(0,ae));$s=32;continue;case 31:af=g.Uint64(b);$s=38;case 38:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}t=(af);case 32:case 23:ag=f.kind;if(ag===(1)){$clone(c,C.Value).SetBool(!((t.$high===0&&t.$low===0)));}else if((ag===(2))||(ag===(3))||(ag===(4))||(ag===(5))||(ag===(6))){$clone(c,C.Value).SetInt((new $Int64(t.$high,t.$low)));}else{$clone(c,C.Value).SetUint(t);}$s=9;continue;case 8:ah=G.Sprintf("no unpack handler for type: %s",new AY([new AP(j)]));$s=39;case 39:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}$panic(new $String(ah));case 9:case 5:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.unpackVal};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.unpackVal=function(b,c,d,e){return this.$val.unpackVal(b,c,d,e);};Q.ptr.prototype.Unpack=function(b,c,d,e){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=new AP(f.Type).Resolve(e);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if((h===1)||(f.kind===24)){$s=2;continue;}if(f.Slice){$s=3;continue;}$s=4;continue;case 2:if(h===1){$s=-1;return $ifaceNil;}else{$clone(c,C.Value).SetString(($bytesToString(b)));$s=-1;return $ifaceNil;}$s=5;continue;case 3:if($clone(c,C.Value).Cap()>0));p=$clone(c,C.Value).Index(n);$s=18;case 18:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=$clone(p,C.Value);r=e;s=f.unpackVal(o,q,1,r);$s=19;case 19:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return t;}l=l+(m)>>0;n=n+(1)>>0;$s=16;continue;case 17:$s=-1;return $ifaceNil;case 4:u=f.unpackVal(b,$clone(c,C.Value),d,e);$s=20;case 20:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}$s=-1;return u;case 5:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.Unpack};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.Unpack=function(b,c,d,e){return this.$val.Unpack(b,c,d,e);};R.prototype.SetByteOrder=function(b){var b,c,d,e,f;c=this;d=c;e=0;while(true){if(!(e=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(!(f===BC.nil)){f.Order=b;}e++;}};$ptrType(R).prototype.SetByteOrder=function(b){return this.$get().SetByteOrder(b);};R.prototype.String=function(){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$makeSlice(BD,b.$length);d=b;e=0;case 1:if(!(e=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(!(g===BC.nil)){$s=3;continue;}$s=4;continue;case 3:h=g.String();$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=h);case 4:e++;$s=1;continue;case 2:$s=-1;return"{"+H.Join(c,", ")+"}";}return;}if($f===undefined){$f={$blk:R.prototype.String};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(R).prototype.String=function(){return this.$get().String();};R.prototype.Sizeof=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;case 1:if(!($clone(b,C.Value).Kind()===22)){$s=2;continue;}e=$clone(b,C.Value).Elem();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}b=e;$s=1;continue;case 2:f=0;g=d;h=0;case 4:if(!(h=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);if(!(j===BC.nil)){$s=6;continue;}$s=7;continue;case 6:k=$clone(b,C.Value).Field(i);$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=j.Size($clone(k,C.Value),c);$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}f=f+(l)>>0;case 7:h++;$s=4;continue;case 5:$s=-1;return f;}return;}if($f===undefined){$f={$blk:R.prototype.Sizeof};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(R).prototype.Sizeof=function(b,c){return this.$get().Sizeof(b,c);};R.prototype.sizefrom=function(b,c){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(b,C.Value).FieldByIndex(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=$clone(f,C.Value).Kind();if((g===(2))||(g===(3))||(g===(4))||(g===(5))||(g===(6))){$s=3;continue;}if((g===(7))||(g===(8))||(g===(9))||(g===(10))||(g===(11))){$s=4;continue;}$s=5;continue;case 3:$s=-1;return(((h=$clone(f,C.Value).Int(),h.$low+((h.$high>>31)*4294967296))>>0));case 4:i=(($clone(f,C.Value).Uint().$low>>0));if(i<0){$s=-1;return 0;}$s=-1;return i;case 5:j=$clone(b,C.Value).Type().FieldByIndex(c);$s=7;case 7:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j.Name;l=$clone(b,C.Value).Interface();$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;n=new $String(k);o=G.Sprintf("sizeof field %T.%s not an integer type",new AY([m,n]));$s=9;case 9:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}$panic(new $String(o));case 6:case 2:$s=-1;return 0;}return;}if($f===undefined){$f={$blk:R.prototype.sizefrom};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(R).prototype.sizefrom=function(b,c){return this.$get().sizefrom(b,c);};R.prototype.Pack=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;case 1:if(!($clone(c,C.Value).Kind()===22)){$s=2;continue;}f=$clone(c,C.Value).Elem();$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}c=f;$s=1;continue;case 2:g=0;h=e;i=0;case 4:if(!(i=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]);if(k===BC.nil){$s=6;continue;}$s=7;continue;case 6:i++;$s=4;continue;case 7:l=$clone(c,C.Value).Field(j);$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;n=k.Len;if(!(k.Sizefrom===AZ.nil)){$s=9;continue;}$s=10;continue;case 9:o=e.sizefrom($clone(c,C.Value),k.Sizefrom);$s=11;case 11:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;case 10:if(n<=0&&k.Slice){n=$clone(m,C.Value).Len();}if(!(k.Sizeof===AZ.nil)){$s=12;continue;}$s=13;continue;case 12:p=$clone(c,C.Value).FieldByIndex(k.Sizeof);$s=14;case 14:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=$clone(p,C.Value).Len();$s=15;case 15:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;s=k.kind;if((s===(2))||(s===(3))||(s===(4))||(s===(5))||(s===(6))){$s=17;continue;}if((s===(7))||(s===(8))||(s===(9))||(s===(10))||(s===(11))){$s=18;continue;}$s=19;continue;case 17:t=$clone(C.New($clone(m,C.Value).Type()),C.Value).Elem();$s=21;case 21:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}m=t;$clone(m,C.Value).SetInt((new $Int64(0,r)));$s=20;continue;case 18:u=$clone(C.New($clone(m,C.Value).Type()),C.Value).Elem();$s=22;case 22:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}m=u;$clone(m,C.Value).SetUint((new $Uint64(0,r)));$s=20;continue;case 19:v=G.Sprintf("sizeof field is not int or uint type: %s, %s",new AY([new $String(k.Name),$clone(m,C.Value).Type()]));$s=23;case 23:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}$panic(new $String(v));case 20:case 16:case 13:x=k.Pack($subslice(b,g),$clone(m,C.Value),n,d);$s=24;case 24:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;y=w[0];z=w[1];if(!($interfaceIsEqual(z,$ifaceNil))){$s=-1;return[y,z];}else{g=g+(y)>>0;}i++;$s=4;continue;case 5:$s=-1;return[g,$ifaceNil];}return;}if($f===undefined){$f={$blk:R.prototype.Pack};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(R).prototype.Pack=function(b,c,d){return this.$get().Pack(b,c,d);};R.prototype.Unpack=function(b,c,d){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;case 1:if(!($clone(c,C.Value).Kind()===22)){$s=2;continue;}f=$clone(c,C.Value).Elem();$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}c=f;$s=1;continue;case 2:g=BE.zero();h=AW.nil;i=e;j=0;case 4:if(!(j=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);if(l===BC.nil){$s=6;continue;}$s=7;continue;case 6:j++;$s=4;continue;case 7:m=$clone(c,C.Value).Field(k);$s=8;case 8:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;o=l.Len;if(!(l.Sizefrom===AZ.nil)){$s=9;continue;}$s=10;continue;case 9:p=e.sizefrom($clone(c,C.Value),l.Sizefrom);$s=11;case 11:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;case 10:if(!($clone(n,C.Value).Kind()===22)){q=false;$s=14;continue s;}r=$clone(n,C.Value).Elem();$s=15;case 15:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=$clone(r,C.Value).IsValid();$s=16;case 16:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}q=!s;case 14:if(q){$s=12;continue;}$s=13;continue;case 12:t=$clone(n,C.Value).Type().Elem();$s=17;case 17:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=C.New(t);$s=18;case 18:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}$r=$clone(n,C.Value).Set($clone(u,C.Value));$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 13:if(l.Type===15){$s=20;continue;}$s=21;continue;case 20:if(l.Slice){$s=23;continue;}$s=24;continue;case 23:v=n;if(!l.Array){$s=26;continue;}$s=27;continue;case 26:w=C.MakeSlice($clone(n,C.Value).Type(),o,o);$s=28;case 28:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;case 27:x=0;case 29:if(!(x>0;$s=29;continue;case 30:if(!l.Array){$s=34;continue;}$s=35;continue;case 34:$r=$clone(n,C.Value).Set($clone(v,C.Value));$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 35:$s=25;continue;case 24:ah=AE($clone(n,C.Value));$s=37;case 37:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;ai=ag[0];aj=ag[1];if(!($interfaceIsEqual(aj,$ifaceNil))){$s=-1;return aj;}ak=ai.Unpack(b,$clone(n,C.Value),d);$s=38;case 38:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak;if(!($interfaceIsEqual(al,$ifaceNil))){$s=-1;return al;}case 25:j++;$s=4;continue;$s=22;continue;case 21:am=new AP(l.Type).Resolve(d);$s=39;case 39:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=am;if(an===19){$s=40;continue;}$s=41;continue;case 40:ao=$clone($clone(n,C.Value).Addr(),C.Value).Interface();$s=43;case 43:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=$assertType(ao,N).Unpack(b,o,d);$s=44;case 44:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap;if(!($interfaceIsEqual(aq,$ifaceNil))){$s=-1;return aq;}$s=42;continue;case 41:ar=new AP(l.Type).Resolve(d);$s=45;case 45:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=new AP(ar).Size();$s=46;case 46:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=$imul(o,as);if(at<8){h=$subslice(new AW(g),0,at);}else{h=$makeSlice(AW,at);}av=B.ReadFull(b,h);$s=47;case 47:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}au=av;aw=au[1];if(!($interfaceIsEqual(aw,$ifaceNil))){$s=-1;return aw;}ax=l.Unpack($subslice(h,0,at),$clone(n,C.Value),o,d);$s=48;case 48:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=ax;if(!($interfaceIsEqual(ay,$ifaceNil))){$s=-1;return ay;}case 42:case 22:j++;$s=4;continue;case 5:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:R.prototype.Unpack};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(R).prototype.Unpack=function(b,c,d){return this.$get().Unpack(b,c,d);};W=function(b){var b,c,d,e,f,g,h,i,j,k,l;d=new V.ptr("",(c=A.BigEndian,new c.constructor.elem(c)),"",false,"");e=new C.StructTag(b).Get("struc");if(e===""){e=new C.StructTag(b).Get("struct");}f=H.Split(e,",");g=0;while(true){if(!(g=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(H.HasPrefix(h,"sizeof=")){i=H.SplitN(h,"=",2);d.Sizeof=(1>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+1]);}else if(H.HasPrefix(h,"sizefrom=")){j=H.SplitN(h,"=",2);d.Sizefrom=(1>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+1]);}else if(h==="big"){d.Order=(k=A.BigEndian,new k.constructor.elem(k));}else if(h==="little"){d.Order=(l=A.LittleEndian,new l.constructor.elem(l));}else if(h==="skip"){d.Skip=true;}else{d.Type=h;}g++;}return d;};Y=function(b){var aa,ab,ac,ad,ae,af,ag,ah,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=BC.nil;d=BF.nil;e=$ifaceNil;d=W(b.Tag);f=false;g=b.Type.Kind();$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}c=new Q.ptr(b.Name,false,0,0,0,false,false,1,d.Order,AZ.nil,AZ.nil,R.nil,g);h=c.kind;if(h===(17)){$s=3;continue;}if(h===(23)){$s=4;continue;}if(h===(22)){$s=5;continue;}$s=6;continue;case 3:c.Slice=true;c.Array=true;i=b.Type.Len();$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}c.Len=i;j=b.Type.Elem();$s=8;case 8:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j.Kind();$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}c.kind=k;$s=6;continue;case 4:c.Slice=true;c.Len=-1;l=b.Type.Elem();$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l.Kind();$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}c.kind=m;$s=6;continue;case 5:c.Ptr=true;n=b.Type.Elem();$s=12;case 12:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n.Kind();$s=13;case 13:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}c.kind=o;case 6:case 2:p=C.New(b.Type);r=$clone(p,C.Value).Interface();$s=14;case 14:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=$assertType(r,N,true);s=q[1];if(s){c.Type=19;$s=-1;return[c,d,e];}t=false;u=(v=AV[C.Kind.keyFor(c.kind)],v!==undefined?[v.v,true]:[0,false]);c.defType=u[0];t=u[1];w=X.ReplaceAllLiteralString(d.Type,"");$s=15;case 15:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;y=(z=AQ[$String.keyFor(x)],z!==undefined?[z.v,true]:[0,false]);c.Type=y[0];f=y[1];if(f){$s=16;continue;}$s=17;continue;case 16:c.Len=1;aa=X.FindAllStringSubmatch(d.Type,-1);$s=18;case 18:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;if(ab.$length>0&&(0>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0]).$length>1){c.Slice=true;ad=(ac=(0>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0]),(1>=ac.$length?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+1]));if(ad===""){c.Len=-1;}else{ae=E.Atoi(ad);c.Len=ae[0];e=ae[1];}}$s=-1;return[c,d,e];case 17:af=b.Type;if($interfaceIsEqual(af,(C.TypeOf(new AT(0,0))))){$s=20;continue;}if($interfaceIsEqual(af,(C.TypeOf(new AU(0,0))))){$s=21;continue;}if(t){$s=22;continue;}$s=23;continue;case 20:c.Type=17;$s=24;continue;case 21:c.Type=18;$s=24;continue;case 22:c.Type=c.defType;$s=24;continue;case 23:ag=G.Sprintf("struc: Could not resolve field '%v' type '%v'.",new AY([new $String(b.Name),b.Type]));$s=25;case 25:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=I.New(ag);$s=26;case 26:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}e=ah;case 24:case 19:$s=-1;return[c,d,e];}return;}if($f===undefined){$f={$blk:Y};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Z=function(b){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:if(!($clone(b,C.Value).Kind()===22)){$s=2;continue;}c=$clone(b,C.Value).Elem();$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;$s=1;continue;case 2:d=$clone(b,C.Value).Type();if($clone(b,C.Value).NumField()<1){$s=-1;return[R.nil,I.New("struc: Struct has no fields.")];}e={};f=$makeSlice(R,$clone(b,C.Value).NumField());g=0;case 4:h=d.NumField();$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!(g>0;$s=4;continue;case 10:if(!($interfaceIsEqual(o,$ifaceNil))){$s=-1;return[R.nil,o];}p=$clone(b,C.Value).Field(g);$s=13;case 13:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=$clone(p,C.Value).CanSet();$s=14;case 14:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}if(!q){$s=11;continue;}$s=12;continue;case 11:g=g+(1)>>0;$s=4;continue;case 12:m.Index=g;if(!(n.Sizeof==="")){$s=15;continue;}$s=16;continue;case 15:s=d.FieldByName(n.Sizeof);$s=17;case 17:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=$clone(r[0],C.StructField);u=r[1];if(!u){$s=18;continue;}$s=19;continue;case 18:v=G.Errorf("struc: `sizeof=%s` field does not exist",new AY([new $String(n.Sizeof)]));$s=20;case 20:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}$s=-1;return[R.nil,v];case 19:m.Sizeof=t.Index;w=n.Sizeof;(e||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(w)]={k:w,v:j.Index};case 16:x=(y=e[$String.keyFor(j.Name)],y!==undefined?[y.v,true]:[AZ.nil,false]);z=x[0];aa=x[1];if(aa){m.Sizefrom=z;}if(!(n.Sizefrom==="")){$s=21;continue;}$s=22;continue;case 21:ac=d.FieldByName(n.Sizefrom);$s=23;case 23:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=ac;ad=$clone(ab[0],C.StructField);ae=ab[1];if(!ae){$s=24;continue;}$s=25;continue;case 24:af=G.Errorf("struc: `sizefrom=%s` field does not exist",new AY([new $String(n.Sizefrom)]));$s=26;case 26:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}$s=-1;return[R.nil,af];case 25:m.Sizefrom=ad.Index;case 22:if((m.Len===-1)&&m.Sizefrom===AZ.nil){$s=27;continue;}$s=28;continue;case 27:ag=G.Errorf("struc: field `%s` is a slice with no length or sizeof field",new AY([new $String(j.Name)]));$s=29;case 29:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}$s=-1;return[R.nil,ag];case 28:if(m.Type===15){$s=30;continue;}$s=31;continue;case 30:ah=j.Type;if(m.Ptr){$s=32;continue;}$s=33;continue;case 32:ai=ah.Elem();$s=34;case 34:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;case 33:if(m.Slice){$s=35;continue;}$s=36;continue;case 35:aj=ah.Elem();$s=37;case 37:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ah=aj;case 36:al=Z($clone(C.New(ah),C.Value));$s=38;case 38:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ak=al;m.Fields=ak[0];o=ak[1];if(!($interfaceIsEqual(o,$ifaceNil))){$s=-1;return[R.nil,o];}case 31:((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]=m);g=g+(1)>>0;$s=4;continue;case 5:$s=-1;return[f,$ifaceNil];}return;}if($f===undefined){$f={$blk:Z};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AD=function(b){var b,c,d,e,f,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);$r=AB.RLock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(AB,"RUnlock"),[]]);c=(d=AA[C.Type.keyFor(b)],d!==undefined?[d.v,true]:[R.nil,false]);e=c[0];f=c[1];if(f){$s=-1;return e;}$s=-1;return R.nil;}return;}}catch(err){$err=err;$s=-1;return R.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AD};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AE=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);case 1:if(!($clone(b,C.Value).Kind()===22)){$s=2;continue;}c=$clone(b,C.Value).Elem();$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;$s=1;continue;case 2:d=$clone(b,C.Value).Type();e=AD(d);$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!(f===R.nil)){$s=-1;return[f,$ifaceNil];}$r=AC.Lock();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(AC,"Unlock"),[]]);g=AD(d);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!(h===R.nil)){$s=-1;return[h,$ifaceNil];}j=Z($clone(b,C.Value));$s=7;case 7:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];if(!($interfaceIsEqual(l,$ifaceNil))){$s=-1;return[R.nil,l];}$r=AB.Lock();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}m=d;(AA||$throwRuntimeError("assignment to entry in nil map"))[C.Type.keyFor(m)]={k:m,v:k};$r=AB.Unlock();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[k,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[R.nil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AE};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AF.ptr.prototype.Validate=function(){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(b.PtrSize===0){$s=1;continue;}$s=2;continue;case 1:b.PtrSize=32;$s=3;continue;case 2:c=b.PtrSize;if((c===(8))||(c===(16))||(c===(32))||(c===(64))){$s=5;continue;}$s=6;continue;case 5:$s=7;continue;case 6:d=G.Errorf("Invalid Options.PtrSize: %d. Must be in (8, 16, 32, 64)",new AY([new $Int(b.PtrSize)]));$s=8;case 8:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 7:case 4:case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.Validate};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.Validate=function(){return this.$val.Validate();};AH=function(){var b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=AG.Validate();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}b;$s=-1;return;}return;}if($f===undefined){$f={$blk:AH};}$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AI=function(b){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=C.ValueOf(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;case 2:if(!($clone(d,C.Value).Kind()===22)){$s=3;continue;}e=$clone(d,C.Value).Elem();$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(e,C.Value).Kind();$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if((g===25)||(g===22)){$s=6;continue;}$s=7;continue;case 6:h=$clone(d,C.Value).Elem();$s=9;case 9:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}d=h;$s=8;continue;case 7:$s=3;continue;case 8:$s=2;continue;case 3:i=$clone(d,C.Value).Kind();if(i===(25)){$s=11;continue;}$s=12;continue;case 11:k=AE($clone(d,C.Value));$s=14;case 14:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];$s=-1;return[d,l,m];case 12:if(!$clone(d,C.Value).IsValid()){$s=15;continue;}$s=16;continue;case 15:n=G.Errorf("Invalid reflect.Value for %+v",new AY([b]));$s=17;case 17:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$s=-1;return[new C.Value.ptr(BB.nil,0,0),$ifaceNil,n];case 16:o=$assertType(b,N,true);p=o[0];q=o[1];if(q){$s=-1;return[d,(r=new O.ptr(p),new r.constructor.elem(r)),$ifaceNil];}$s=-1;return[d,(s=($clone(d,M)),new s.constructor.elem(s)),$ifaceNil];case 13:case 10:$s=-1;return[new C.Value.ptr(BB.nil,0,0),$ifaceNil,$ifaceNil];}return;}if($f===undefined){$f={$blk:AI};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};AL=function(b,c){var b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=AM(b,c,BG.nil);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:AL};}$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Unpack=AL;AM=function(b,c,d){var b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(d===BG.nil){d=AG;}e=d.Validate();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return f;}h=AI(c);$s=2;case 2:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];k=g[2];if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return k;}l=j.Unpack(b,$clone(i,C.Value),d);$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return l;}return;}if($f===undefined){$f={$blk:AM};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.UnpackWithOptions=AM;AP.prototype.Resolve=function(b){var b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this.$val;d=c;if(d===(18)){$s=2;continue;}if(d===(17)){$s=3;continue;}$s=4;continue;case 2:e=b.PtrSize;if(e===(8)){$s=6;continue;}if(e===(16)){$s=7;continue;}if(e===(32)){$s=8;continue;}if(e===(64)){$s=9;continue;}$s=10;continue;case 6:$s=-1;return 4;case 7:$s=-1;return 6;case 8:$s=-1;return 8;case 9:$s=-1;return 10;case 10:f=G.Sprintf("unsupported ptr bits: %d",new AY([new $Int(b.PtrSize)]));$s=12;case 12:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$panic(new $String(f));case 11:case 5:$s=4;continue;case 3:g=b.PtrSize;if(g===(8)){$s=14;continue;}if(g===(16)){$s=15;continue;}if(g===(32)){$s=16;continue;}if(g===(64)){$s=17;continue;}$s=18;continue;case 14:$s=-1;return 5;case 15:$s=-1;return 7;case 16:$s=-1;return 9;case 17:$s=-1;return 11;case 18:h=G.Sprintf("unsupported ptr bits: %d",new AY([new $Int(b.PtrSize)]));$s=20;case 20:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$panic(new $String(h));case 19:case 13:case 4:case 1:$s=-1;return c;}return;}if($f===undefined){$f={$blk:AP.prototype.Resolve};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AP).prototype.Resolve=function(b){return new AP(this.$get()).Resolve(b);};AP.prototype.String=function(){var b,c;b=this.$val;return(c=AR[AP.keyFor(b)],c!==undefined?c.v:"");};$ptrType(AP).prototype.String=function(){return new AP(this.$get()).String();};AP.prototype.Size=function(){var b,c;b=this.$val;c=b;if((c===(17))||(c===(18))){$panic(new $String("Size_t/Off_t types must be converted to another type using options.PtrSize"));}else if((c===(1))||(c===(14))||(c===(4))||(c===(5))||(c===(2))){return 1;}else if((c===(6))||(c===(7))){return 2;}else if((c===(8))||(c===(9))||(c===(12))){return 4;}else if((c===(10))||(c===(11))||(c===(13))){return 8;}else{$panic(new $String("Cannot resolve size of type:"+new AP(b).String()));}};$ptrType(AP).prototype.Size=function(){return new AP(this.$get()).Size();};AS=function(){var b,c,d,e,f,g,h;b=AQ;c=0;d=$keys(b);while(true){if(!(c>>0;e=(c)*(((d<0||d>=D.length)?($throwRuntimeError("index out of range"),undefined):D[d]));if(c<((d<0||d>=C.length)?($throwRuntimeError("index out of range"),undefined):C[d])){$s=-1;return e;}if(d===0){$s=4;continue;}$s=5;continue;case 4:f=a.Float64();$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=A.Log(f);$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return 7.69711747013105-g;case 5:h=a.Float64();$s=10;case 10:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if($fround(((d<0||d>=E.length)?($throwRuntimeError("index out of range"),undefined):E[d])+$fround(($fround(h))*($fround((i=d-1>>>0,((i<0||i>=E.length)?($throwRuntimeError("index out of range"),undefined):E[i]))-((d<0||d>=E.length)?($throwRuntimeError("index out of range"),undefined):E[d])))))<($fround(A.Exp(-e)))){$s=8;continue;}$s=9;continue;case 8:$s=-1;return e;case 9:$s=1;continue;case 2:$s=-1;return 0;}return;}if($f===undefined){$f={$blk:M.ptr.prototype.ExpFloat64};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.ExpFloat64=function(){return this.$val.ExpFloat64();};F=function(a){var a;if(a<0){return((-a>>>0));}return((a>>>0));};M.ptr.prototype.NormFloat64=function(){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:b=a.Uint32();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=((b>>0));d=c&127;e=(c)*(((d<0||d>=H.length)?($throwRuntimeError("index out of range"),undefined):H[d]));if(F(c)<((d<0||d>=G.length)?($throwRuntimeError("index out of range"),undefined):G[d])){$s=-1;return e;}if(d===0){$s=4;continue;}$s=5;continue;case 4:case 6:f=a.Float64();$s=8;case 8:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=A.Log(f);$s=9;case 9:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e=-g*0.29047645161474317;h=a.Float64();$s=10;case 10:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=A.Log(h);$s=11;case 11:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=-i;if(j+j>=e*e){$s=7;continue;}$s=6;continue;case 7:if(c>0){$s=-1;return 3.442619855899+e;}$s=-1;return-3.442619855899-e;case 5:k=a.Float64();$s=14;case 14:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if($fround(((d<0||d>=I.length)?($throwRuntimeError("index out of range"),undefined):I[d])+$fround(($fround(k))*($fround((l=d-1>>0,((l<0||l>=I.length)?($throwRuntimeError("index out of range"),undefined):I[l]))-((d<0||d>=I.length)?($throwRuntimeError("index out of range"),undefined):I[d])))))<($fround(A.Exp(-0.5*e*e)))){$s=12;continue;}$s=13;continue;case 12:$s=-1;return e;case 13:$s=1;continue;case 2:$s=-1;return 0;}return;}if($f===undefined){$f={$blk:M.ptr.prototype.NormFloat64};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.NormFloat64=function(){return this.$val.NormFloat64();};L=function(a){var a,b;b=new AI.ptr(0,0,AM.zero());b.Seed(a);return b;};$pkg.NewSource=L;N=function(a){var a,b,c;b=$assertType(a,K,true);c=b[0];return new M.ptr(a,c,new $Int64(0,0),0);};$pkg.New=N;M.ptr.prototype.Seed=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$assertType(b.src,AN,true);d=c[0];e=c[1];if(e){$s=1;continue;}$s=2;continue;case 1:$r=d.seedPos(a,(b.$ptr_readPos||(b.$ptr_readPos=new AO(function(){return this.$target.readPos;},function($v){this.$target.readPos=$v;},b))));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 2:$r=b.src.Seed(a);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.readPos=0;$s=-1;return;}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Seed};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Seed=function(a){return this.$val.Seed(a);};M.ptr.prototype.Int63=function(){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.src.Int63();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Int63};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Int63=function(){return this.$val.Int63();};M.ptr.prototype.Uint32=function(){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Int63();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return(($shiftRightInt64(b,31).$low>>>0));}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Uint32};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Uint32=function(){return this.$val.Uint32();};M.ptr.prototype.Uint64=function(){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(!($interfaceIsEqual(a.s64,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:b=a.s64.Uint64();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;case 2:e=a.Int63();$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}h=a.Int63();$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return(c=$shiftRightUint64(((d=e,new $Uint64(d.$high,d.$low))),31),f=$shiftLeft64(((g=h,new $Uint64(g.$high,g.$low))),32),new $Uint64(c.$high|f.$high,(c.$low|f.$low)>>>0));}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Uint64};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Uint64=function(){return this.$val.Uint64();};M.ptr.prototype.Int31=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=a.Int63();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return(((b=$shiftRightInt64(c,32),b.$low+((b.$high>>31)*4294967296))>>0));}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Int31};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Int31=function(){return this.$val.Int31();};M.ptr.prototype.Int=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Int63();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=((b.$low>>>0));$s=-1;return((((c<<1>>>0)>>>1>>>0)>>0));}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Int};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Int=function(){return this.$val.Int();};M.ptr.prototype.Int63n=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if((a.$high<0||(a.$high===0&&a.$low<=0))){$panic(new $String("invalid argument to Int63n"));}if((c=(d=new $Int64(a.$high-0,a.$low-1),new $Int64(a.$high&d.$high,(a.$low&d.$low)>>>0)),(c.$high===0&&c.$low===0))){$s=1;continue;}$s=2;continue;case 1:f=b.Int63();$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return(e=f,g=new $Int64(a.$high-0,a.$low-1),new $Int64(e.$high&g.$high,(e.$low&g.$low)>>>0));case 2:j=((h=(i=$div64(new $Uint64(2147483648,0),(new $Uint64(a.$high,a.$low)),true),new $Uint64(2147483647-i.$high,4294967295-i.$low)),new $Int64(h.$high,h.$low)));k=b.Int63();$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;case 5:if(!((l.$high>j.$high||(l.$high===j.$high&&l.$low>j.$low)))){$s=6;continue;}m=b.Int63();$s=7;case 7:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;$s=5;continue;case 6:$s=-1;return $div64(l,a,true);}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Int63n};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Int63n=function(a){return this.$val.Int63n(a);};M.ptr.prototype.Int31n=function(a){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a<=0){$panic(new $String("invalid argument to Int31n"));}if((a&((a-1>>0)))===0){$s=1;continue;}$s=2;continue;case 1:c=b.Int31();$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c&((a-1>>0));case 2:e=(((2147483647-(d=2147483648%((a>>>0)),d===d?d:$throwRuntimeError("integer divide by zero"))>>>0)>>0));f=b.Int31();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;case 5:if(!(g>e)){$s=6;continue;}h=b.Int31();$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;$s=5;continue;case 6:$s=-1;return(i=g%a,i===i?i:$throwRuntimeError("integer divide by zero"));}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Int31n};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Int31n=function(a){return this.$val.Int31n(a);};M.ptr.prototype.int31n=function(a){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Uint32();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=$mul64((new $Uint64(0,d)),(new $Uint64(0,a)));f=((e.$low>>>0));if(f<((a>>>0))){$s=2;continue;}$s=3;continue;case 2:h=(g=((-a>>>0))%((a>>>0)),g===g?g:$throwRuntimeError("integer divide by zero"));case 4:if(!(f>>0));$s=4;continue;case 5:case 3:$s=-1;return(($shiftRightUint64(e,32).$low>>0));}return;}if($f===undefined){$f={$blk:M.ptr.prototype.int31n};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.int31n=function(a){return this.$val.int31n(a);};M.ptr.prototype.Intn=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a<=0){$panic(new $String("invalid argument to Intn"));}if(a<=2147483647){$s=1;continue;}$s=2;continue;case 1:c=b.Int31n(((a>>0)));$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return((c>>0));case 2:e=b.Int63n((new $Int64(0,a)));$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return(((d=e,d.$low+((d.$high>>31)*4294967296))>>0));}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Intn};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Intn=function(a){return this.$val.Intn(a);};M.ptr.prototype.Float64=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:b=a.Int63();$s=2;case 2:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=($flatten64(b))/9.223372036854776e+18;if(c===1){$s=3;continue;}$s=4;continue;case 3:$s=1;continue;case 4:$s=-1;return c;}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Float64};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Float64=function(){return this.$val.Float64();};M.ptr.prototype.Float32=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:b=a.Float64();$s=2;case 2:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=($fround(b));if(c===1){$s=3;continue;}$s=4;continue;case 3:$s=1;continue;case 4:$s=-1;return c;}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Float32};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Float32=function(){return this.$val.Float32();};M.ptr.prototype.Perm=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$makeSlice(AP,a);d=0;case 1:if(!(d>0);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]));((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=d);d=d+(1)>>0;$s=1;continue;case 2:$s=-1;return c;}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Perm};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Perm=function(a){return this.$val.Perm(a);};M.ptr.prototype.Shuffle=function(a,b){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(a<0){$panic(new $String("invalid argument to Shuffle"));}d=a-1>>0;case 1:if(!(d>2147483646)){$s=2;continue;}f=c.Int63n((new $Int64(0,(d+1>>0))));$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=(((e=f,e.$low+((e.$high>>31)*4294967296))>>0));$r=b(d,g);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=d-(1)>>0;$s=1;continue;case 2:case 5:if(!(d>0)){$s=6;continue;}h=c.int31n((((d+1>>0)>>0)));$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=((h>>0));$r=b(d,i);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=d-(1)>>0;$s=5;continue;case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Shuffle};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Shuffle=function(a,b){return this.$val.Shuffle(a,b);};M.ptr.prototype.Read=function(a){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;e=$assertType(d.src,AN,true);f=e[0];g=e[1];if(g){$s=1;continue;}$s=2;continue;case 1:i=f.read(a,(d.$ptr_readVal||(d.$ptr_readVal=new AQ(function(){return this.$target.readVal;},function($v){this.$target.readVal=$v;},d))),(d.$ptr_readPos||(d.$ptr_readPos=new AO(function(){return this.$target.readPos;},function($v){this.$target.readPos=$v;},d))));$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;b=h[0];c=h[1];$s=-1;return[b,c];case 2:k=O(a,$methodVal(d,"Int63"),(d.$ptr_readVal||(d.$ptr_readVal=new AQ(function(){return this.$target.readVal;},function($v){this.$target.readVal=$v;},d))),(d.$ptr_readPos||(d.$ptr_readPos=new AO(function(){return this.$target.readPos;},function($v){this.$target.readPos=$v;},d))));$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;b=j[0];c=j[1];$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Read};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Read=function(a){return this.$val.Read(a);};O=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;f=$ifaceNil;g=d.$get();h=c.$get();e=0;case 1:if(!(e=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+e]=((h.$low<<24>>>24)));h=$shiftRightInt64(h,(8));g=g-(1)<<24>>24;e=e+(1)>>0;$s=1;continue;case 2:d.$set(g);c.$set(h);$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:O};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AG.ptr.prototype.Int63=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=new $Int64(0,0);b=this;b.lk.Lock();c=b.src.Int63();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}a=c;b.lk.Unlock();$s=-1;return a;}return;}if($f===undefined){$f={$blk:AG.ptr.prototype.Int63};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AG.prototype.Int63=function(){return this.$val.Int63();};AG.ptr.prototype.Uint64=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=new $Uint64(0,0);b=this;b.lk.Lock();c=b.src.Uint64();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}a=c;b.lk.Unlock();$s=-1;return a;}return;}if($f===undefined){$f={$blk:AG.ptr.prototype.Uint64};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AG.prototype.Uint64=function(){return this.$val.Uint64();};AG.ptr.prototype.Seed=function(a){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;b.lk.Lock();$r=b.src.Seed(a);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.lk.Unlock();$s=-1;return;}return;}if($f===undefined){$f={$blk:AG.ptr.prototype.Seed};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AG.prototype.Seed=function(a){return this.$val.Seed(a);};AG.ptr.prototype.seedPos=function(a,b){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;c.lk.Lock();$r=c.src.Seed(a);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.$set(0);c.lk.Unlock();$s=-1;return;}return;}if($f===undefined){$f={$blk:AG.ptr.prototype.seedPos};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AG.prototype.seedPos=function(a,b){return this.$val.seedPos(a,b);};AG.ptr.prototype.read=function(a,b,c){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=0;e=$ifaceNil;f=this;f.lk.Lock();h=O(a,$methodVal(f.src,"Int63"),b,c);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;d=g[0];e=g[1];f.lk.Unlock();$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:AG.ptr.prototype.read};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AG.prototype.read=function(a,b,c){return this.$val.read(a,b,c);};AJ=function(a){var a,b,c,d,e;c=(b=a/44488,(b===b&&b!==1/0&&b!==-1/0)?b>>0:$throwRuntimeError("integer divide by zero"));e=(d=a%44488,d===d?d:$throwRuntimeError("integer divide by zero"));a=($imul(48271,e))-($imul(3399,c))>>0;if(a<0){a=a+(2147483647)>>0;}return a;};AI.ptr.prototype.Seed=function(a){var a,b,c,d,e,f,g,h,i,j;b=this;b.tap=0;b.feed=334;a=$div64(a,new $Int64(0,2147483647),true);if((a.$high<0||(a.$high===0&&a.$low<0))){a=(c=new $Int64(0,2147483647),new $Int64(a.$high+c.$high,a.$low+c.$low));}if((a.$high===0&&a.$low===0)){a=new $Int64(0,89482311);}d=(((a.$low+((a.$high>>31)*4294967296))>>0));e=-20;while(true){if(!(e<607)){break;}d=AJ(d);if(e>=0){f=new $Int64(0,0);f=$shiftLeft64((new $Int64(0,d)),40);d=AJ(d);f=(g=$shiftLeft64((new $Int64(0,d)),20),new $Int64(f.$high^g.$high,(f.$low^g.$low)>>>0));d=AJ(d);f=(h=(new $Int64(0,d)),new $Int64(f.$high^h.$high,(f.$low^h.$low)>>>0));f=(i=((e<0||e>=AH.length)?($throwRuntimeError("index out of range"),undefined):AH[e]),new $Int64(f.$high^i.$high,(f.$low^i.$low)>>>0));(j=b.vec,((e<0||e>=j.length)?($throwRuntimeError("index out of range"),undefined):j[e]=f));}e=e+(1)>>0;}};AI.prototype.Seed=function(a){return this.$val.Seed(a);};AI.ptr.prototype.Int63=function(){var a,b,c;a=this;return((b=(c=a.Uint64(),new $Uint64(c.$high&2147483647,(c.$low&4294967295)>>>0)),new $Int64(b.$high,b.$low)));};AI.prototype.Int63=function(){return this.$val.Int63();};AI.ptr.prototype.Uint64=function(){var a,b,c,d,e,f,g,h,i,j;a=this;a.tap=a.tap-(1)>>0;if(a.tap<0){a.tap=a.tap+(607)>>0;}a.feed=a.feed-(1)>>0;if(a.feed<0){a.feed=a.feed+(607)>>0;}h=(b=(c=a.vec,d=a.feed,((d<0||d>=c.length)?($throwRuntimeError("index out of range"),undefined):c[d])),e=(f=a.vec,g=a.tap,((g<0||g>=f.length)?($throwRuntimeError("index out of range"),undefined):f[g])),new $Int64(b.$high+e.$high,b.$low+e.$low));(i=a.vec,j=a.feed,((j<0||j>=i.length)?($throwRuntimeError("index out of range"),undefined):i[j]=h));return(new $Uint64(h.$high,h.$low));};AI.prototype.Uint64=function(){return this.$val.Uint64();};AR.methods=[{prop:"ExpFloat64",name:"ExpFloat64",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"NormFloat64",name:"NormFloat64",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Seed",name:"Seed",pkg:"",typ:$funcType([$Int64],[],false)},{prop:"Int63",name:"Int63",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Uint32",name:"Uint32",pkg:"",typ:$funcType([],[$Uint32],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64],false)},{prop:"Int31",name:"Int31",pkg:"",typ:$funcType([],[$Int32],false)},{prop:"Int",name:"Int",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Int63n",name:"Int63n",pkg:"",typ:$funcType([$Int64],[$Int64],false)},{prop:"Int31n",name:"Int31n",pkg:"",typ:$funcType([$Int32],[$Int32],false)},{prop:"int31n",name:"int31n",pkg:"math/rand",typ:$funcType([$Int32],[$Int32],false)},{prop:"Intn",name:"Intn",pkg:"",typ:$funcType([$Int],[$Int],false)},{prop:"Float64",name:"Float64",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Float32",name:"Float32",pkg:"",typ:$funcType([],[$Float32],false)},{prop:"Perm",name:"Perm",pkg:"",typ:$funcType([$Int],[AP],false)},{prop:"Shuffle",name:"Shuffle",pkg:"",typ:$funcType([$Int,AT],[],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([AU],[$Int,$error],false)}];AN.methods=[{prop:"Int63",name:"Int63",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64],false)},{prop:"Seed",name:"Seed",pkg:"",typ:$funcType([$Int64],[],false)},{prop:"seedPos",name:"seedPos",pkg:"math/rand",typ:$funcType([$Int64,AO],[],false)},{prop:"read",name:"read",pkg:"math/rand",typ:$funcType([AU,AQ,AO],[$Int,$error],false)}];AV.methods=[{prop:"Seed",name:"Seed",pkg:"",typ:$funcType([$Int64],[],false)},{prop:"Int63",name:"Int63",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64],false)}];J.init([{prop:"Int63",name:"Int63",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Seed",name:"Seed",pkg:"",typ:$funcType([$Int64],[],false)}]);K.init([{prop:"Int63",name:"Int63",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Seed",name:"Seed",pkg:"",typ:$funcType([$Int64],[],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64],false)}]);M.init("math/rand",[{prop:"src",name:"src",embedded:false,exported:false,typ:J,tag:""},{prop:"s64",name:"s64",embedded:false,exported:false,typ:K,tag:""},{prop:"readVal",name:"readVal",embedded:false,exported:false,typ:$Int64,tag:""},{prop:"readPos",name:"readPos",embedded:false,exported:false,typ:$Int8,tag:""}]);AG.init("math/rand",[{prop:"lk",name:"lk",embedded:false,exported:false,typ:B.Mutex,tag:""},{prop:"src",name:"src",embedded:false,exported:false,typ:K,tag:""}]);AI.init("math/rand",[{prop:"tap",name:"tap",embedded:false,exported:false,typ:$Int,tag:""},{prop:"feed",name:"feed",embedded:false,exported:false,typ:$Int,tag:""},{prop:"vec",name:"vec",embedded:false,exported:false,typ:AM,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}C=$toNativeArray($kindUint32,[3801129273,0,2615860924,3279400049,3571300752,3733536696,3836274812,3906990442,3958562475,3997804264,4028649213,4053523342,4074002619,4091154507,4105727352,4118261130,4129155133,4138710916,4147160435,4154685009,4161428406,4167506077,4173011791,4178022498,4182601930,4186803325,4190671498,4194244443,4197554582,4200629752,4203493986,4206168142,4208670408,4211016720,4213221098,4215295924,4217252177,4219099625,4220846988,4222502074,4224071896,4225562770,4226980400,4228329951,4229616109,4230843138,4232014925,4233135020,4234206673,4235232866,4236216336,4237159604,4238064994,4238934652,4239770563,4240574564,4241348362,4242093539,4242811568,4243503822,4244171579,4244816032,4245438297,4246039419,4246620374,4247182079,4247725394,4248251127,4248760037,4249252839,4249730206,4250192773,4250641138,4251075867,4251497493,4251906522,4252303431,4252688672,4253062674,4253425844,4253778565,4254121205,4254454110,4254777611,4255092022,4255397640,4255694750,4255983622,4256264513,4256537670,4256803325,4257061702,4257313014,4257557464,4257795244,4258026541,4258251531,4258470383,4258683258,4258890309,4259091685,4259287526,4259477966,4259663135,4259843154,4260018142,4260188212,4260353470,4260514019,4260669958,4260821380,4260968374,4261111028,4261249421,4261383632,4261513736,4261639802,4261761900,4261880092,4261994441,4262105003,4262211835,4262314988,4262414513,4262510454,4262602857,4262691764,4262777212,4262859239,4262937878,4263013162,4263085118,4263153776,4263219158,4263281289,4263340187,4263395872,4263448358,4263497660,4263543789,4263586755,4263626565,4263663224,4263696735,4263727099,4263754314,4263778377,4263799282,4263817020,4263831582,4263842955,4263851124,4263856071,4263857776,4263856218,4263851370,4263843206,4263831695,4263816804,4263798497,4263776735,4263751476,4263722676,4263690284,4263654251,4263614520,4263571032,4263523724,4263472530,4263417377,4263358192,4263294892,4263227394,4263155608,4263079437,4262998781,4262913534,4262823581,4262728804,4262629075,4262524261,4262414220,4262298801,4262177846,4262051187,4261918645,4261780032,4261635148,4261483780,4261325704,4261160681,4260988457,4260808763,4260621313,4260425802,4260221905,4260009277,4259787550,4259556329,4259315195,4259063697,4258801357,4258527656,4258242044,4257943926,4257632664,4257307571,4256967906,4256612870,4256241598,4255853155,4255446525,4255020608,4254574202,4254106002,4253614578,4253098370,4252555662,4251984571,4251383021,4250748722,4250079132,4249371435,4248622490,4247828790,4246986404,4246090910,4245137315,4244119963,4243032411,4241867296,4240616155,4239269214,4237815118,4236240596,4234530035,4232664930,4230623176,4228378137,4225897409,4223141146,4220059768,4216590757,4212654085,4208145538,4202926710,4196809522,4189531420,4180713890,4169789475,4155865042,4137444620,4111806704,4073393724,4008685917,3873074895]);D=$toNativeArray($kindFloat32,[2.0249555365836613e-09,1.4866739783681027e-11,2.4409616689036184e-11,3.1968806074589295e-11,3.844677007314168e-11,4.42282044321729e-11,4.951644302919611e-11,5.443358958023836e-11,5.905943789574764e-11,6.34494193296753e-11,6.764381416113352e-11,7.167294535648239e-11,7.556032188826833e-11,7.932458162551725e-11,8.298078890689453e-11,8.654132271912474e-11,9.001651507523079e-11,9.341507428706208e-11,9.674443190998971e-11,1.0001099254308699e-10,1.0322031424037093e-10,1.0637725422757427e-10,1.0948611461891744e-10,1.1255067711157807e-10,1.1557434870246297e-10,1.1856014781042035e-10,1.2151082917633005e-10,1.2442885610752796e-10,1.2731647680563896e-10,1.3017574518325858e-10,1.330085347417409e-10,1.3581656632677408e-10,1.386014220061682e-10,1.413645728254309e-10,1.4410737880776736e-10,1.4683107507629245e-10,1.4953686899854546e-10,1.522258291641876e-10,1.5489899640730442e-10,1.575573282952547e-10,1.6020171300645814e-10,1.628330109637588e-10,1.6545202707884954e-10,1.68059510752272e-10,1.7065616975120435e-10,1.73242697965037e-10,1.758197337720091e-10,1.783878739169964e-10,1.8094774290045024e-10,1.834998542005195e-10,1.8604476292871652e-10,1.8858298256319017e-10,1.9111498494872592e-10,1.9364125580789704e-10,1.9616222535212557e-10,1.9867835154840918e-10,2.011900368525943e-10,2.0369768372052732e-10,2.062016807302669e-10,2.0870240258208383e-10,2.1120022397624894e-10,2.136955057352452e-10,2.1618855317040442e-10,2.1867974098199738e-10,2.2116936060356807e-10,2.2365774510202385e-10,2.2614519978869652e-10,2.2863201609713002e-10,2.3111849933865614e-10,2.3360494094681883e-10,2.3609159072179864e-10,2.3857874009713953e-10,2.4106666662859766e-10,2.4355562011635357e-10,2.460458781161634e-10,2.485376904282077e-10,2.5103127909709144e-10,2.5352694943414633e-10,2.560248957284017e-10,2.585253955356137e-10,2.610286709003873e-10,2.6353494386732734e-10,2.6604446423661443e-10,2.6855745405285347e-10,2.71074163116225e-10,2.7359478571575835e-10,2.7611959940720965e-10,2.786487707240326e-10,2.8118254946640775e-10,2.8372118543451563e-10,2.8626484516180994e-10,2.8881380620404684e-10,2.9136826285025563e-10,2.9392840938946563e-10,2.96494523377433e-10,2.990667713476114e-10,3.016454031001814e-10,3.042306406797479e-10,3.068226783753403e-10,3.09421765987139e-10,3.12028125559749e-10,3.1464195138219964e-10,3.17263521010247e-10,3.1989300097734485e-10,3.225306410836737e-10,3.2517669112941405e-10,3.2783134540359526e-10,3.3049485370639786e-10,3.3316743808242677e-10,3.3584937608743815e-10,3.385408342548857e-10,3.4124211789610115e-10,3.4395342130011386e-10,3.4667499426710435e-10,3.494071143528288e-10,3.521500313574677e-10,3.54903967325626e-10,3.576691720574843e-10,3.6044595086437425e-10,3.632345535464765e-10,3.660352021483959e-10,3.688482297370399e-10,3.716738583570134e-10,3.7451239331964814e-10,3.773641121807003e-10,3.802292924959261e-10,3.831082673322328e-10,3.8600128648980103e-10,3.8890865527996255e-10,3.9183070676962473e-10,3.9476774627011935e-10,3.977200790927782e-10,4.006880383045086e-10,4.0367195697221803e-10,4.066721681628138e-10,4.0968900494320337e-10,4.127228558914453e-10,4.15774054074447e-10,4.188429603146915e-10,4.2192993543466173e-10,4.25035395767992e-10,4.2815970213716525e-10,4.313032986313914e-10,4.3446651831757777e-10,4.376498607960855e-10,4.408536868893975e-10,4.4407846844229937e-10,4.4732464954400086e-10,4.5059267428371186e-10,4.538830145062178e-10,4.5719619756745544e-10,4.605326675566346e-10,4.638929240741163e-10,4.672775499869886e-10,4.706869893844612e-10,4.74121908400349e-10,4.775827511238617e-10,4.810701836888143e-10,4.845848167178701e-10,4.881271498113904e-10,4.916979601254923e-10,4.952977472605369e-10,4.989272883726414e-10,5.025872495956207e-10,5.062783525744408e-10,5.100013189540675e-10,5.13756870379467e-10,5.175458395179078e-10,5.21369003525507e-10,5.252272505806843e-10,5.29121357839557e-10,5.330522134805449e-10,5.3702081670437e-10,5.41028055689452e-10,5.450749851476644e-10,5.491624932574268e-10,5.532918012640664e-10,5.574638528571541e-10,5.616799247931681e-10,5.659410717839819e-10,5.702485705860738e-10,5.746036979559221e-10,5.790077306500052e-10,5.83462111958255e-10,5.879682296594524e-10,5.925275825546805e-10,5.971417249561739e-10,6.01812211176167e-10,6.065408175714992e-10,6.113292094767075e-10,6.16179329782085e-10,6.21092954844471e-10,6.260721940876124e-10,6.311191569352559e-10,6.362359528111483e-10,6.414249686947926e-10,6.466885360545405e-10,6.520292639144998e-10,6.574497612987784e-10,6.629528592760892e-10,6.685415554485985e-10,6.742187919073217e-10,6.799880103436351e-10,6.858525969377638e-10,6.918161599145378e-10,6.978825850545434e-10,7.040559801829716e-10,7.103406751696184e-10,7.167412219288849e-10,7.232625609532306e-10,7.2990985477972e-10,7.366885990123251e-10,7.436047333442275e-10,7.506645305355164e-10,7.57874762946642e-10,7.652426470272644e-10,7.727759543385559e-10,7.804830115532013e-10,7.883728114777e-10,7.964550685635174e-10,8.047402189070851e-10,8.132396422944055e-10,8.219657177122031e-10,8.309318788590758e-10,8.401527806789488e-10,8.496445214056791e-10,8.594246980742071e-10,8.695127395874636e-10,8.799300732498239e-10,8.90700457834015e-10,9.01850316648023e-10,9.134091816243028e-10,9.254100818978372e-10,9.37890431984556e-10,9.508922538259412e-10,9.64463842123564e-10,9.78660263939446e-10,9.935448019859905e-10,1.0091912860943353e-09,1.0256859805934937e-09,1.0431305819125214e-09,1.0616465484503124e-09,1.0813799855569073e-09,1.1025096391392708e-09,1.1252564435793033e-09,1.149898620766976e-09,1.176793218427008e-09,1.2064089727203964e-09,1.2393785997488749e-09,1.2765849488616254e-09,1.319313880365769e-09,1.36954347862428e-09,1.4305497897382224e-09,1.5083649884672923e-09,1.6160853766322703e-09,1.7921247819074893e-09]);E=$toNativeArray($kindFloat32,[1,0.9381436705589294,0.900469958782196,0.8717043399810791,0.847785472869873,0.8269932866096497,0.8084216713905334,0.7915276288986206,0.7759568691253662,0.7614634037017822,0.7478685975074768,0.7350381016731262,0.7228676676750183,0.7112747430801392,0.7001926302909851,0.6895664930343628,0.6793505549430847,0.669506311416626,0.6600008606910706,0.6508058309555054,0.6418967247009277,0.633251965045929,0.62485271692276,0.6166821718215942,0.608725368976593,0.6009689569473267,0.5934008955955505,0.5860103368759155,0.5787873864173889,0.5717230439186096,0.5648092031478882,0.5580382943153381,0.5514034032821655,0.5448982119560242,0.5385168790817261,0.5322538614273071,0.526104211807251,0.5200631618499756,0.5141264200210571,0.5082897543907166,0.5025495290756226,0.4969019889831543,0.4913438558578491,0.4858720004558563,0.48048335313796997,0.4751752018928528,0.4699448347091675,0.4647897481918335,0.4597076177597046,0.4546961486339569,0.4497532546520233,0.44487687945365906,0.4400651156902313,0.4353161156177521,0.4306281507015228,0.42599955201148987,0.42142874002456665,0.4169141948223114,0.4124544560909271,0.40804818272590637,0.4036940038204193,0.39939069747924805,0.3951369822025299,0.39093172550201416,0.38677382469177246,0.38266217708587646,0.378595769405365,0.37457355856895447,0.37059465050697327,0.366658091545105,0.362762987613678,0.358908474445343,0.35509374737739563,0.35131800174713135,0.3475804924964905,0.34388044476509094,0.34021714329719543,0.33658990263938904,0.3329980671405792,0.3294409513473511,0.32591795921325684,0.32242849469184875,0.3189719021320343,0.3155476748943329,0.31215524673461914,0.3087940812110901,0.30546361207962036,0.30216339230537415,0.29889291524887085,0.29565170407295227,0.2924392819404602,0.2892552316188812,0.28609907627105713,0.2829704284667969,0.27986884117126465,0.2767939269542694,0.2737452983856201,0.2707225978374481,0.26772540807724,0.26475343108177185,0.2618062496185303,0.258883535861969,0.2559850215911865,0.25311028957366943,0.25025907158851624,0.24743106961250305,0.2446259707212448,0.24184346199035645,0.23908329010009766,0.23634515702724457,0.2336287796497345,0.23093391954898834,0.22826029360294342,0.22560766339302063,0.22297576069831848,0.22036437690258026,0.21777324378490448,0.21520215272903442,0.212650865316391,0.21011915802955627,0.20760682225227356,0.20511364936828613,0.20263944566249847,0.20018397271633148,0.19774706661701202,0.1953285187482834,0.19292815029621124,0.19054576754570007,0.18818120658397675,0.18583425879478455,0.18350479006767273,0.18119260668754578,0.17889754474163055,0.17661945521831512,0.17435817420482635,0.1721135377883911,0.16988539695739746,0.16767361760139465,0.16547803580760956,0.16329853236675262,0.16113494336605072,0.1589871346950531,0.15685498714447021,0.15473836660385132,0.15263713896274567,0.1505511850118637,0.1484803706407547,0.14642459154129028,0.1443837285041809,0.14235764741897583,0.1403462439775467,0.13834942877292633,0.136367067694664,0.13439907133579254,0.1324453204870224,0.1305057406425476,0.12858019769191742,0.12666863203048706,0.12477091699838638,0.12288697808980942,0.1210167184472084,0.11916005611419678,0.11731690168380737,0.11548716574907303,0.11367076635360718,0.11186762899160385,0.11007767915725708,0.1083008274435997,0.10653700679540634,0.10478614270687103,0.1030481606721878,0.10132300108671188,0.0996105819940567,0.09791085124015808,0.09622374176979065,0.09454918652772903,0.09288713335990906,0.09123751521110535,0.08960027992725372,0.08797537535429001,0.08636274188756943,0.0847623273730278,0.08317409455776215,0.08159798383712769,0.08003395050764084,0.07848194986581802,0.07694194465875626,0.07541389018297195,0.07389774918556213,0.07239348441362381,0.070901058614254,0.06942043453454971,0.06795158982276917,0.06649449467658997,0.06504911929368973,0.06361543387174606,0.06219341605901718,0.06078304722905159,0.0593843050301075,0.05799717456102371,0.05662164092063904,0.05525768920779228,0.05390531197190285,0.05256449431180954,0.05123523622751236,0.04991753399372101,0.04861138388514519,0.047316793352365494,0.04603376239538193,0.044762298464775085,0.04350241273641586,0.04225412383675575,0.04101744294166565,0.039792392402887344,0.03857899457216263,0.03737728297710419,0.03618728369474411,0.03500903770327568,0.03384258225560188,0.0326879620552063,0.031545232981443405,0.030414443463087082,0.0292956605553627,0.028188949450850487,0.027094384655356407,0.02601204626262188,0.024942025542259216,0.023884421214461327,0.022839335724711418,0.021806888282299042,0.020787203684449196,0.019780423492193222,0.018786700442433357,0.017806200310587883,0.016839107498526573,0.015885621309280396,0.014945968054234982,0.01402039173990488,0.013109165243804455,0.012212592177093029,0.011331013403832912,0.010464809834957123,0.009614413604140282,0.008780314587056637,0.007963077165186405,0.007163353264331818,0.0063819061033427715,0.005619642324745655,0.004877655766904354,0.004157294984906912,0.003460264764726162,0.0027887988835573196,0.0021459676790982485,0.001536299823783338,0.0009672692976891994,0.0004541343660093844]);G=$toNativeArray($kindUint32,[1991057938,0,1611602771,1826899878,1918584482,1969227037,2001281515,2023368125,2039498179,2051788381,2061460127,2069267110,2075699398,2081089314,2085670119,2089610331,2093034710,2096037586,2098691595,2101053571,2103168620,2105072996,2106796166,2108362327,2109791536,2111100552,2112303493,2113412330,2114437283,2115387130,2116269447,2117090813,2117856962,2118572919,2119243101,2119871411,2120461303,2121015852,2121537798,2122029592,2122493434,2122931299,2123344971,2123736059,2124106020,2124456175,2124787725,2125101763,2125399283,2125681194,2125948325,2126201433,2126441213,2126668298,2126883268,2127086657,2127278949,2127460589,2127631985,2127793506,2127945490,2128088244,2128222044,2128347141,2128463758,2128572095,2128672327,2128764606,2128849065,2128925811,2128994934,2129056501,2129110560,2129157136,2129196237,2129227847,2129251929,2129268426,2129277255,2129278312,2129271467,2129256561,2129233410,2129201800,2129161480,2129112170,2129053545,2128985244,2128906855,2128817916,2128717911,2128606255,2128482298,2128345305,2128194452,2128028813,2127847342,2127648860,2127432031,2127195339,2126937058,2126655214,2126347546,2126011445,2125643893,2125241376,2124799783,2124314271,2123779094,2123187386,2122530867,2121799464,2120980787,2120059418,2119015917,2117825402,2116455471,2114863093,2112989789,2110753906,2108037662,2104664315,2100355223,2094642347,2086670106,2074676188,2054300022,2010539237]);H=$toNativeArray($kindFloat32,[1.7290404663583558e-09,1.2680928529462676e-10,1.689751810696194e-10,1.9862687883343e-10,2.223243117382978e-10,2.4244936613904144e-10,2.601613091623989e-10,2.761198769629658e-10,2.9073962681813725e-10,3.042996965518796e-10,3.169979556627567e-10,3.289802041894774e-10,3.4035738116777736e-10,3.5121602848242617e-10,3.61625090983253e-10,3.7164057942185025e-10,3.813085680537398e-10,3.906675816178762e-10,3.997501218933053e-10,4.0858399996679395e-10,4.1719308563337165e-10,4.255982233303257e-10,4.3381759295968436e-10,4.4186720948857783e-10,4.497613115272969e-10,4.57512583373898e-10,4.6513240481438345e-10,4.726310454117311e-10,4.800177477726209e-10,4.873009773476156e-10,4.944885056978876e-10,5.015873272284921e-10,5.086040477664255e-10,5.155446070048697e-10,5.224146670812502e-10,5.292193350214802e-10,5.359634958068682e-10,5.426517013518151e-10,5.492881705038144e-10,5.558769555769061e-10,5.624218868405251e-10,5.689264614971989e-10,5.75394121238304e-10,5.818281967329142e-10,5.882316855831959e-10,5.946076964136182e-10,6.009590047817426e-10,6.072883862451306e-10,6.135985053390414e-10,6.19892026598734e-10,6.261713370037114e-10,6.324390455780815e-10,6.386973727678935e-10,6.449488165749528e-10,6.511955974453087e-10,6.574400468473129e-10,6.636843297158634e-10,6.699307220081607e-10,6.761814441702541e-10,6.824387166481927e-10,6.887046488657234e-10,6.949815167800466e-10,7.012714853260604e-10,7.075767749498141e-10,7.13899661608508e-10,7.202424212593428e-10,7.266072743483676e-10,7.329966078550854e-10,7.394128087589991e-10,7.458582640396116e-10,7.523354716987285e-10,7.588469852493063e-10,7.653954137154528e-10,7.719834771435785e-10,7.786139510912449e-10,7.852897221383159e-10,7.920137878869582e-10,7.987892014504894e-10,8.056192379868321e-10,8.125072836762115e-10,8.194568912323064e-10,8.264716688799467e-10,8.3355555791087e-10,8.407127216614185e-10,8.479473234679347e-10,8.552640262671218e-10,8.626675485068347e-10,8.701631637464402e-10,8.777562010564566e-10,8.854524335966119e-10,8.932581896381464e-10,9.011799639857543e-10,9.092249730890956e-10,9.174008219758889e-10,9.25715837318819e-10,9.341788453909317e-10,9.42799727177146e-10,9.515889187738935e-10,9.605578554783278e-10,9.697193048552322e-10,9.790869226478094e-10,9.886760299337993e-10,9.985036131254788e-10,1.008588212947359e-09,1.0189509236369076e-09,1.0296150598776421e-09,1.040606933955246e-09,1.0519566329136865e-09,1.0636980185552147e-09,1.0758701707302976e-09,1.0885182755160372e-09,1.101694735439196e-09,1.115461056855338e-09,1.1298901814171813e-09,1.1450695946990663e-09,1.1611052119775422e-09,1.178127595480305e-09,1.1962995039027646e-09,1.2158286599728285e-09,1.2369856250415978e-09,1.2601323318151003e-09,1.2857697129220469e-09,1.3146201904845611e-09,1.3477839955200466e-09,1.3870635751089821e-09,1.43574030442295e-09,1.5008658760251592e-09,1.6030947680434338e-09]);I=$toNativeArray($kindFloat32,[1,0.963599681854248,0.9362826943397522,0.9130436182022095,0.8922816514968872,0.8732430338859558,0.8555005788803101,0.8387836217880249,0.8229072093963623,0.8077383041381836,0.7931770086288452,0.7791460752487183,0.7655841708183289,0.7524415850639343,0.7396772503852844,0.7272568941116333,0.7151514887809753,0.7033361196517944,0.6917891502380371,0.6804918646812439,0.6694276928901672,0.6585819721221924,0.6479418277740479,0.6374954581260681,0.6272324919700623,0.6171433925628662,0.6072195172309875,0.5974531769752502,0.5878370404243469,0.5783646702766418,0.5690299868583679,0.5598273873329163,0.550751805305481,0.5417983531951904,0.5329626798629761,0.5242405533790588,0.5156282186508179,0.5071220397949219,0.49871864914894104,0.4904148280620575,0.48220765590667725,0.47409430146217346,0.466072142124176,0.45813870429992676,0.45029163360595703,0.44252872467041016,0.4348478317260742,0.42724698781967163,0.41972434520721436,0.41227802634239197,0.40490642189979553,0.39760786294937134,0.3903807997703552,0.3832238018512726,0.3761354684829712,0.3691144585609436,0.36215949058532715,0.3552693724632263,0.3484429717063904,0.3416791558265686,0.33497685194015503,0.32833510637283325,0.3217529058456421,0.3152293860912323,0.30876362323760986,0.3023548424243927,0.2960021495819092,0.2897048592567444,0.28346219658851624,0.2772735059261322,0.271138072013855,0.2650552988052368,0.25902456045150757,0.25304529070854187,0.24711695313453674,0.24123899638652802,0.23541094362735748,0.22963231801986694,0.22390270233154297,0.21822164952754974,0.21258877217769623,0.20700371265411377,0.20146611332893372,0.1959756463766098,0.19053204357624054,0.18513499200344086,0.17978426814079285,0.1744796335697174,0.16922089457511902,0.16400785744190216,0.1588403731584549,0.15371830761432648,0.14864157140254974,0.14361007511615753,0.13862377405166626,0.13368265330791473,0.12878671288490295,0.12393598258495331,0.11913054436445236,0.11437050998210907,0.10965602099895477,0.1049872562289238,0.10036443918943405,0.09578784555196762,0.09125780314207077,0.08677466958761215,0.08233889937400818,0.07795098423957825,0.07361150532960892,0.06932111829519272,0.06508058309555054,0.06089077144861221,0.05675266310572624,0.05266740173101425,0.048636294901371,0.044660862535238266,0.040742866694927216,0.03688438981771469,0.03308788686990738,0.029356317594647408,0.025693291798233986,0.02210330404341221,0.018592102453112602,0.015167297795414925,0.011839478276669979,0.0086244847625494,0.005548994988203049,0.0026696291752159595]);AH=$toNativeArray($kindInt64,[new $Int64(-973649357,3952672746),new $Int64(-1065661887,3130416987),new $Int64(324977939,3414273807),new $Int64(1241840476,2806224363),new $Int64(-1477934308,1997590414),new $Int64(2103305448,2402795971),new $Int64(1663160183,1140819369),new $Int64(1120601685,1788868961),new $Int64(1848035537,1089001426),new $Int64(1235702047,873593504),new $Int64(1911387977,581324885),new $Int64(-1654874170,1609182556),new $Int64(1069394745,1241596776),new $Int64(1895445337,1771189259),new $Int64(-1374618802,3467012610),new $Int64(-140526423,2344407434),new $Int64(-1745367887,782467244),new $Int64(26335124,3404933915),new $Int64(1063924276,618867887),new $Int64(-968700782,520164395),new $Int64(-1591572833,1341358184),new $Int64(-1515085039,665794848),new $Int64(1527227641,3183648150),new $Int64(1781176124,696329606),new $Int64(1789146075,4151988961),new $Int64(-2087444114,998951326),new $Int64(-612324923,1364957564),new $Int64(63173359,4090230633),new $Int64(-1498029007,4009697548),new $Int64(248009524,2569622517),new $Int64(778703922,3742421481),new $Int64(-1109106023,1506914633),new $Int64(1738099768,1983412561),new $Int64(236311649,1436266083),new $Int64(-1111517500,3922894967),new $Int64(-1336974714,1792680179),new $Int64(563141142,1188796351),new $Int64(1349617468,405968250),new $Int64(1044074554,433754187),new $Int64(870549669,4073162024),new $Int64(-1094251604,433121399),new $Int64(2451824,4162580594),new $Int64(-137262572,4132415622),new $Int64(-1536231048,3033822028),new $Int64(2016407895,824682382),new $Int64(2366218,3583765414),new $Int64(-624604839,535386927),new $Int64(1637219058,2286693689),new $Int64(1453075389,2968466525),new $Int64(193683513,1351410206),new $Int64(-283806096,1412813499),new $Int64(492736522,4126267639),new $Int64(512765208,2105529399),new $Int64(2132966268,2413882233),new $Int64(947457634,32226200),new $Int64(1149341356,2032329073),new $Int64(106485445,1356518208),new $Int64(-2067810156,3430061722),new $Int64(-1484435135,3820169661),new $Int64(-1665985194,2981816134),new $Int64(1017155588,4184371017),new $Int64(206574701,2119206761),new $Int64(-852109057,2472200560),new $Int64(-560457548,2853524696),new $Int64(1307803389,1681119904),new $Int64(-174986835,95608918),new $Int64(392686347,3690479145),new $Int64(-1205570926,1397922290),new $Int64(-1159314025,1516129515),new $Int64(-320178155,1547420459),new $Int64(1311333971,1470949486),new $Int64(-1953469798,1336785672),new $Int64(-45086614,4131677129),new $Int64(-1392278100,4246329084),new $Int64(-1142500187,3788585631),new $Int64(-66478285,3080389532),new $Int64(-646438364,2215402037),new $Int64(391002300,1171593935),new $Int64(1408774047,1423855166),new $Int64(-519177718,2276716302),new $Int64(-368453140,2068027241),new $Int64(1369359303,3427553297),new $Int64(189241615,3289637845),new $Int64(1057480830,3486407650),new $Int64(-1512910664,3071877822),new $Int64(1159653919,3363620705),new $Int64(-934256930,4159821533),new $Int64(-76621938,1894661),new $Int64(-674493898,1156868282),new $Int64(348271067,776219088),new $Int64(-501428838,2425634259),new $Int64(1716021749,680510161),new $Int64(-574263456,1310101429),new $Int64(1095885995,2964454134),new $Int64(-325695512,3467098407),new $Int64(1990672920,2109628894),new $Int64(-2139648704,1232604732),new $Int64(-1838070714,3261916179),new $Int64(1699175360,434597899),new $Int64(235436061,1624796439),new $Int64(-1626402839,3589632480),new $Int64(1198416575,864579159),new $Int64(-1938748161,1380889830),new $Int64(619206309,2654509477),new $Int64(1419738251,1468209306),new $Int64(-1744284772,100794388),new $Int64(-1191421458,2991674471),new $Int64(-208666741,2224662036),new $Int64(-173659161,977097250),new $Int64(1351320195,726419512),new $Int64(-183459897,1747974366),new $Int64(-753095183,1556430604),new $Int64(-1049492215,1080776742),new $Int64(-385846958,280794874),new $Int64(117767733,919835643),new $Int64(-967009426,3434019658),new $Int64(-1951414480,2461941785),new $Int64(133215641,3615001066),new $Int64(417204809,3103414427),new $Int64(790056561,3380809712),new $Int64(-1267681408,2724693469),new $Int64(547796833,598827710),new $Int64(-1846559452,3452273442),new $Int64(-75778224,649274915),new $Int64(-801301329,2585724112),new $Int64(-1510934263,3165579553),new $Int64(1185578221,2635894283),new $Int64(-52910178,2053289721),new $Int64(985976581,3169337108),new $Int64(1170569632,144717764),new $Int64(1079216270,1383666384),new $Int64(-124804942,681540375),new $Int64(1375448925,537050586),new $Int64(-1964768344,315246468),new $Int64(226402871,849323088),new $Int64(-885062465,45543944),new $Int64(-946445250,2319052083),new $Int64(-40708194,3613090841),new $Int64(560472520,2992171180),new $Int64(-381863169,2068244785),new $Int64(917538188,4239862634),new $Int64(-1369555809,3892253031),new $Int64(720683925,958186149),new $Int64(-423297785,1877702262),new $Int64(1357886971,837674867),new $Int64(1837048883,1507589294),new $Int64(1905518400,873336795),new $Int64(-1879761037,2764496274),new $Int64(-1806480530,4196182374),new $Int64(-1066765755,550964545),new $Int64(818747069,420611474),new $Int64(-1924830376,204265180),new $Int64(1549974541,1787046383),new $Int64(1215581865,3102292318),new $Int64(418321538,1552199393),new $Int64(1243493047,980542004),new $Int64(267284263,3293718720),new $Int64(1179528763,3771917473),new $Int64(599484404,2195808264),new $Int64(252818753,3894702887),new $Int64(-1367475956,2099949527),new $Int64(1424094358,338442522),new $Int64(490737398,637158004),new $Int64(-1727621530,281976339),new $Int64(574970164,3619802330),new $Int64(-431930823,3084554784),new $Int64(-1264611183,4129772886),new $Int64(-2104399043,1680378557),new $Int64(-1621962591,3339087776),new $Int64(1680500332,4220317857),new $Int64(-1935828963,2959322499),new $Int64(1675600481,1488354890),new $Int64(-834863562,3958162143),new $Int64(-1226511573,2773705983),new $Int64(1876039582,225908689),new $Int64(-1183735113,908216283),new $Int64(-605696219,3574646075),new $Int64(-1827723091,1936937569),new $Int64(1519770881,75492235),new $Int64(816689472,1935193178),new $Int64(2142521206,2018250883),new $Int64(455141620,3943126022),new $Int64(-601399488,3066544345),new $Int64(1932392669,2793082663),new $Int64(-1239009361,3297036421),new $Int64(1640597065,2206987825),new $Int64(-553246738,807894872),new $Int64(-1781325307,766252117),new $Int64(2060649606,3833114345),new $Int64(845619743,1255067973),new $Int64(1201145605,741697208),new $Int64(-1476242608,2810093753),new $Int64(1109032642,4229340371),new $Int64(1462188720,1361684224),new $Int64(-1159399429,1906263026),new $Int64(475781207,3904421704),new $Int64(-623537128,1769075545),new $Int64(1062308525,2621599764),new $Int64(1279509432,3431891480),new $Int64(-1742751146,1871896503),new $Int64(128756421,1412808876),new $Int64(1605404688,952876175),new $Int64(-230443691,1824438899),new $Int64(1662295856,1005035476),new $Int64(-156574141,527508597),new $Int64(1288873303,3066806859),new $Int64(565995893,3244940914),new $Int64(-889746188,209092916),new $Int64(-247669406,1242699167),new $Int64(-713830396,456723774),new $Int64(1776978905,1001252870),new $Int64(1468772157,2026725874),new $Int64(857254202,2137562569),new $Int64(765939740,3183366709),new $Int64(1533887628,2612072960),new $Int64(56977098,1727148468),new $Int64(-1197583895,3803658212),new $Int64(1883670356,479946959),new $Int64(685713571,1562982345),new $Int64(-1946242443,1766109365),new $Int64(700596547,3257093788),new $Int64(-184714929,2365720207),new $Int64(93384808,3742754173),new $Int64(-458385235,2878193673),new $Int64(1096135042,2174002182),new $Int64(-834260953,3573511231),new $Int64(-754572527,1760299077),new $Int64(-1375627191,2260779833),new $Int64(-866019274,1452805722),new $Int64(-1229671918,2940011802),new $Int64(1890251082,1886183802),new $Int64(893897673,2514369088),new $Int64(1644345561,3924317791),new $Int64(-1974867432,500935732),new $Int64(1403501753,676580929),new $Int64(-1565912283,1184984890),new $Int64(-691968413,1271474274),new $Int64(-1828754738,3163791473),new $Int64(2051027584,2842487377),new $Int64(1511537551,2170968612),new $Int64(573262976,3535856740),new $Int64(-2053227187,1488599718),new $Int64(-1180531831,3408913763),new $Int64(-2086531912,2501050084),new $Int64(-875130448,1639124157),new $Int64(-2009482504,4088176393),new $Int64(1574896563,3989947576),new $Int64(-165243708,3414355209),new $Int64(-792329287,2275136352),new $Int64(-2057774345,2151835223),new $Int64(-931144933,1654534827),new $Int64(-679921451,377892833),new $Int64(-482716010,660204544),new $Int64(85706799,390828249),new $Int64(-1422172693,3402783878),new $Int64(-1468634160,3717936603),new $Int64(1113532086,2211058823),new $Int64(1564224320,2692150867),new $Int64(1952770442,1928910388),new $Int64(788716862,3931011137),new $Int64(1083670504,1112701047),new $Int64(-68150572,2452299106),new $Int64(-896164822,2337204777),new $Int64(1774877857,273889282),new $Int64(1798719843,1462008793),new $Int64(2138834788,1554494002),new $Int64(-1194967131,182675323),new $Int64(-1598554764,1882802136),new $Int64(589279648,3700220025),new $Int64(381039426,3083431543),new $Int64(-851859191,3622207527),new $Int64(338126939,432729309),new $Int64(-1667470126,2391914317),new $Int64(-1849558151,235747924),new $Int64(2120733629,3088823825),new $Int64(-745079795,2314658321),new $Int64(1165929723,2957634338),new $Int64(501323675,4117056981),new $Int64(1564699815,1482500298),new $Int64(-740826490,840489337),new $Int64(799522364,3483178565),new $Int64(532129761,2074004656),new $Int64(724246478,3643392642),new $Int64(-665153481,1583624461),new $Int64(-885822954,287473085),new $Int64(1667835381,3136843981),new $Int64(1138806821,1266970974),new $Int64(135185781,1998688839),new $Int64(392094735,1492900209),new $Int64(1031326774,1538112737),new $Int64(-2070568842,2207265429),new $Int64(-1886797613,963263315),new $Int64(1671145500,2295892134),new $Int64(1068469660,2002560897),new $Int64(-356250305,1369254035),new $Int64(33436120,3353312708),new $Int64(57507843,947771099),new $Int64(-1945755145,1747061399),new $Int64(1507240140,2047354631),new $Int64(720000810,4165367136),new $Int64(479265078,3388864963),new $Int64(-952181250,286492130),new $Int64(2045622690,2795735007),new $Int64(-715730566,3703961339),new $Int64(-148436487,1797825479),new $Int64(1429039600,1116589674),new $Int64(-1665420098,2593309206),new $Int64(1329049334,3404995677),new $Int64(-750579440,3453462936),new $Int64(1014767077,3016498634),new $Int64(75698599,1650371545),new $Int64(1592007860,212344364),new $Int64(1127766888,3843932156),new $Int64(-748019856,3573129983),new $Int64(-890581831,665897820),new $Int64(1071492673,1675628772),new $Int64(243225682,2831752928),new $Int64(2120298836,1486294219),new $Int64(-1954407413,268782709),new $Int64(-1002123503,4186179080),new $Int64(624342951,1613720397),new $Int64(857179861,2703686015),new $Int64(-911618704,2205342611),new $Int64(-672703993,1411666394),new $Int64(-1528454899,677744900),new $Int64(-1876628533,4172867247),new $Int64(135494707,2163418403),new $Int64(849547544,2841526879),new $Int64(-1117516959,1082141470),new $Int64(-1770111792,4046134367),new $Int64(51415528,2142943655),new $Int64(-249824333,3124627521),new $Int64(998228909,219992939),new $Int64(-1078790951,1756846531),new $Int64(1283749206,1225118210),new $Int64(-525858006,1647770243),new $Int64(-2035959705,444807907),new $Int64(2036369448,3952076173),new $Int64(53201823,1461839639),new $Int64(315761893,3699250910),new $Int64(702974850,1373688981),new $Int64(734022261,147523747),new $Int64(-2047330906,1211276581),new $Int64(1294440951,2548832680),new $Int64(1144696256,1995631888),new $Int64(-1992983070,2011457303),new $Int64(-1351022674,3057425772),new $Int64(667839456,81484597),new $Int64(-1681980888,3646681560),new $Int64(-1372462725,635548515),new $Int64(602489502,2508044581),new $Int64(-1794220117,1014917157),new $Int64(719992433,3214891315),new $Int64(-1294799037,959582252),new $Int64(226415134,3347040449),new $Int64(-362868096,4102971975),new $Int64(397887437,4078022210),new $Int64(-536803826,2851767182),new $Int64(-1398321012,1540160644),new $Int64(-1549098876,1057290595),new $Int64(-112592988,3907769253),new $Int64(579300318,4248952684),new $Int64(-1054576049,132554364),new $Int64(-1085862414,1029351092),new $Int64(697840928,2583007416),new $Int64(298619124,1486185789),new $Int64(55905697,2871589073),new $Int64(2017643612,723203291),new $Int64(146250550,2494333952),new $Int64(-1082993397,2230939180),new $Int64(-1804568072,3943232912),new $Int64(1768732449,2181367922),new $Int64(-729261111,2889274791),new $Int64(1824032949,2046728161),new $Int64(1653899792,1376052477),new $Int64(1022327048,381236993),new $Int64(-1113097690,3188942166),new $Int64(-74480109,350070824),new $Int64(144881592,61758415),new $Int64(-741824226,3492950336),new $Int64(-2030042720,3093818430),new $Int64(-453590535,2962480613),new $Int64(-1912050708,3154871160),new $Int64(-1636478569,3228564679),new $Int64(610731502,888276216),new $Int64(-946702974,3574998604),new $Int64(-1277068380,1967526716),new $Int64(-1556147941,1554691298),new $Int64(-1573024234,339944798),new $Int64(1223764147,1154515356),new $Int64(1825645307,967516237),new $Int64(1546195135,596588202),new $Int64(-1867600880,3764362170),new $Int64(-1655392592,266611402),new $Int64(-393255880,2047856075),new $Int64(-1000726433,21444105),new $Int64(-949424754,3065563181),new $Int64(-232418803,1140663212),new $Int64(633187674,2323741028),new $Int64(2126290159,3103873707),new $Int64(1008658319,2766828349),new $Int64(-485587503,1970872996),new $Int64(1628585413,3766615585),new $Int64(-595148528,2036813414),new $Int64(-1994877121,3105536507),new $Int64(13954645,3396176938),new $Int64(-721402003,1377154485),new $Int64(-61839181,3807014186),new $Int64(543009040,3710110597),new $Int64(-1751425519,916420443),new $Int64(734556788,2103831255),new $Int64(-1766161494,717331943),new $Int64(-1574598896,3550505941),new $Int64(45939673,378749927),new $Int64(-1997615719,611017331),new $Int64(592130075,758907650),new $Int64(1012992349,154266815),new $Int64(-1040454942,1407468696),new $Int64(-1678191250,970098704),new $Int64(-285057486,1971660656),new $Int64(998365243,3332747885),new $Int64(1947089649,1935189867),new $Int64(1510248801,203520055),new $Int64(-1305165746,3916463034),new $Int64(-388598655,3474113316),new $Int64(1036101639,316544223),new $Int64(-1773744891,1650844677),new $Int64(-907191419,4267565603),new $Int64(-1070275024,2501167616),new $Int64(-1520651863,3929401789),new $Int64(-2091360852,337170252),new $Int64(-960502090,2061966842),new $Int64(-304190848,2508461464),new $Int64(-1941471116,2791377107),new $Int64(1240791848,1227227588),new $Int64(1813978778,1709681848),new $Int64(1153692192,3768820575),new $Int64(-1002297449,2887126398),new $Int64(-1447111334,296561685),new $Int64(700300844,3729960077),new $Int64(-1572311344,372833036),new $Int64(2078875613,2409779288),new $Int64(1829161290,555274064),new $Int64(-1105595719,4239804901),new $Int64(1839403216,3723486978),new $Int64(-1649093095,2145871984),new $Int64(-1582765715,3565480803),new $Int64(-1568653827,2197313814),new $Int64(974785092,3613674566),new $Int64(438638731,3042093666),new $Int64(-96556264,3324034321),new $Int64(869420878,3708873369),new $Int64(946682149,1698090092),new $Int64(1618900382,4213940712),new $Int64(-1843479747,2087477361),new $Int64(-1766167800,2407950639),new $Int64(-1296225558,3942568569),new $Int64(-1223900450,4088074412),new $Int64(723260036,2964773675),new $Int64(-673921829,1539178386),new $Int64(1062961552,2694849566),new $Int64(460977733,2120273838),new $Int64(-1604570740,2484608657),new $Int64(880846449,2956190677),new $Int64(1970902366,4223313749),new $Int64(662161910,3502682327),new $Int64(705634754,4133891139),new $Int64(-1031359300,1166449596),new $Int64(1038247601,3362705993),new $Int64(93734798,3892921029),new $Int64(1876124043,786869787),new $Int64(1057490746,1046342263),new $Int64(242763728,493777327),new $Int64(-853573201,3304827646),new $Int64(616460742,125356352),new $Int64(499300063,74094113),new $Int64(-795586925,2500816079),new $Int64(-490248444,514015239),new $Int64(1377565129,543520454),new $Int64(-2039776725,3614531153),new $Int64(2056746300,2356753985),new $Int64(1390062617,2018141668),new $Int64(131272971,2087974891),new $Int64(-1502927041,3166972343),new $Int64(372256200,1517638666),new $Int64(-935275664,173466846),new $Int64(-695774461,4241513471),new $Int64(-1413550842,2783126920),new $Int64(1972004134,4167264826),new $Int64(29260506,3907395640),new $Int64(-910901561,1539634186),new $Int64(-595957298,178241987),new $Int64(-113277636,182168164),new $Int64(-1102530459,2386154934),new $Int64(1379126408,4077374341),new $Int64(-2114679722,1732699140),new $Int64(-421057745,1041306002),new $Int64(1860414813,2068001749),new $Int64(1005320202,3208962910),new $Int64(844054010,697710380),new $Int64(-1509359403,2228431183),new $Int64(-810313977,3554678728),new $Int64(-750989047,173470263),new $Int64(-85886265,3848297795),new $Int64(-926936977,246236185),new $Int64(-1984190461,2066374846),new $Int64(1771673660,312890749),new $Int64(703378057,3573310289),new $Int64(-598851901,143166754),new $Int64(613554316,2081511079),new $Int64(1197802104,486038032),new $Int64(-1906483789,2982218564),new $Int64(364901986,1000939191),new $Int64(1902782651,2750454885),new $Int64(-671844857,3375313137),new $Int64(-1643868040,881302957),new $Int64(-1508784745,2514186393),new $Int64(-1703622845,360024739),new $Int64(1399671872,292500025),new $Int64(1381210821,2276300752),new $Int64(521803381,4069087683),new $Int64(-1938982667,1637778212),new $Int64(720490469,1676670893),new $Int64(1067262482,3855174429),new $Int64(2114075974,2067248671),new $Int64(-89426259,2884561259),new $Int64(-805741095,2456511185),new $Int64(983726246,561175414),new $Int64(-1719489563,432588903),new $Int64(885133709,4059399550),new $Int64(-93096266,1075014784),new $Int64(-1733832628,2728058415),new $Int64(1839142064,1299703678),new $Int64(1262333188,2347583393),new $Int64(1285481956,2468164145),new $Int64(-1158354011,1140014346),new $Int64(2033889184,1936972070),new $Int64(-1737578993,3870530098),new $Int64(-484494257,1717789158),new $Int64(-232997156,1153452491),new $Int64(-990424416,3948827651),new $Int64(-1357145630,2101413152),new $Int64(1495744672,3854091229),new $Int64(83644069,4215565463),new $Int64(-1385277313,1202710438),new $Int64(-564909037,2072216740),new $Int64(705690639,2066751068),new $Int64(-2113583312,173902580),new $Int64(-741983806,142459001),new $Int64(172391592,1889151926),new $Int64(-498943125,3034199774),new $Int64(1618587731,516490102),new $Int64(93114264,3692577783),new $Int64(-2078821353,2953948865),new $Int64(-320938673,4041040923),new $Int64(-1942517976,592046130),new $Int64(-705643640,384297211),new $Int64(-2051649464,265863924),new $Int64(2101717619,1333136237),new $Int64(1499611781,1406273556),new $Int64(1074670496,426305476),new $Int64(125704633,2750898176),new $Int64(488068495,1633944332),new $Int64(2037723464,3236349343),new $Int64(-1703423246,4013676611),new $Int64(1718532237,2265047407),new $Int64(1433593806,875071080),new $Int64(-343047503,1418843655),new $Int64(2009228711,451657300),new $Int64(1229446621,1866374663),new $Int64(1653472867,1551455622),new $Int64(577191481,3560962459),new $Int64(1669204077,3347903778),new $Int64(-298327194,2675874918),new $Int64(-1831355577,2762991672),new $Int64(530492383,3689068477),new $Int64(844089962,4071997905),new $Int64(1508155730,1381702441),new $Int64(2089931018,2373284878),new $Int64(-864267462,2143983064),new $Int64(308739063,1938207195),new $Int64(1754949306,1188152253),new $Int64(1272345009,615870490),new $Int64(742653194,2662252621),new $Int64(1477718295,3839976789),new $Int64(-2091334213,306752547),new $Int64(-1426688067,2162363077),new $Int64(-57052633,2767224719),new $Int64(-1471624099,2628837712),new $Int64(1678405918,2967771969),new $Int64(1694285728,499792248),new $Int64(-1744131281,4285253508),new $Int64(962357072,2856511070),new $Int64(679471692,2526409716),new $Int64(-1793706473,1240875658),new $Int64(-914893422,2577342868),new $Int64(-1001298215,4136853496),new $Int64(-1477114974,2403540137),new $Int64(1372824515,1371410668),new $Int64(-176562048,371758825),new $Int64(-441063112,1528834084),new $Int64(-71688630,1504757260),new $Int64(-1461820072,699052551),new $Int64(-505543539,3347789870),new $Int64(1951619734,3430604759),new $Int64(2119672219,1935601723),new $Int64(966789690,834676166)]);P=N(new AG.ptr(new B.Mutex.ptr(false),$assertType(L(new $Int64(0,1)),K)));}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})(); $packages["net"]=(function(){var $pkg={},$init,E,A,C,F,J,K,Q,N,O,M,G,H,D,I,P,B,L,AG,AH,AK,EE,EF,EM,EX,EY,EZ,FU,HS,HW,II,IM,IN,IO,IP,JJ,LC,NE,NG,NM,NP,NX,OE,OM,OQ,OR,OS,OT,OU,OV,OW,PM,PN,PP,QL,QM,QN,QO,QT,AI,BX,BY,BZ,CA,CB,CC,CD,DM,DZ,EA,EB,EC,ED,EG,EN,FB,FF,FG,FH,HU,IE,IF,IG,IJ,IT,c,d,e,f,g,h,i,j,k,AJ,AL,AP,CY,EK,EO,EP,EQ,ER,ES,ET,EU,EV,EW,FA,FC,FD,FE,FI,FJ,FK,FL,FM,FN,FO,FQ,FR,FT,JK,JM,JN,JP,JQ,JR,JT,JU;E=$packages["context"];A=$packages["errors"];C=$packages["github.com/gopherjs/gopherjs/js"];F=$packages["internal/bytealg"];J=$packages["internal/nettrace"];K=$packages["internal/poll"];Q=$packages["internal/singleflight"];N=$packages["internal/x/net/dns/dnsmessage"];O=$packages["io"];M=$packages["math/rand"];G=$packages["os"];H=$packages["runtime"];D=$packages["sort"];I=$packages["sync"];P=$packages["sync/atomic"];B=$packages["syscall"];L=$packages["time"];AG=$pkg.policyTableEntry=$newType(0,$kindStruct,"net.policyTableEntry",true,"net",false,function(Prefix_,Precedence_,Label_){this.$val=this;if(arguments.length===0){this.Prefix=NP.nil;this.Precedence=0;this.Label=0;return;}this.Prefix=Prefix_;this.Precedence=Precedence_;this.Label=Label_;});AH=$pkg.policyTable=$newType(12,$kindSlice,"net.policyTable",true,"net",false,null);AK=$pkg.byMaskLength=$newType(12,$kindSlice,"net.byMaskLength",true,"net",false,null);EE=$pkg.Interface=$newType(0,$kindStruct,"net.Interface",true,"net",true,function(Index_,MTU_,Name_,HardwareAddr_,Flags_){this.$val=this;if(arguments.length===0){this.Index=0;this.MTU=0;this.Name="";this.HardwareAddr=HS.nil;this.Flags=0;return;}this.Index=Index_;this.MTU=MTU_;this.Name=Name_;this.HardwareAddr=HardwareAddr_;this.Flags=Flags_;});EF=$pkg.Flags=$newType(4,$kindUint,"net.Flags",true,"net",true,null);EM=$pkg.ipv6ZoneCache=$newType(0,$kindStruct,"net.ipv6ZoneCache",true,"net",false,function(RWMutex_,lastFetched_,toIndex_,toName_){this.$val=this;if(arguments.length===0){this.RWMutex=new I.RWMutex.ptr(new I.Mutex.ptr(0,0),0,0,0,0);this.lastFetched=new L.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NE.nil);this.toIndex=false;this.toName=false;return;}this.RWMutex=RWMutex_;this.lastFetched=lastFetched_;this.toIndex=toIndex_;this.toName=toName_;});EX=$pkg.IP=$newType(12,$kindSlice,"net.IP",true,"net",true,null);EY=$pkg.IPMask=$newType(12,$kindSlice,"net.IPMask",true,"net",true,null);EZ=$pkg.IPNet=$newType(0,$kindStruct,"net.IPNet",true,"net",true,function(IP_,Mask_){this.$val=this;if(arguments.length===0){this.IP=EX.nil;this.Mask=EY.nil;return;}this.IP=IP_;this.Mask=Mask_;});FU=$pkg.IPAddr=$newType(0,$kindStruct,"net.IPAddr",true,"net",true,function(IP_,Zone_){this.$val=this;if(arguments.length===0){this.IP=EX.nil;this.Zone="";return;}this.IP=IP_;this.Zone=Zone_;});HS=$pkg.HardwareAddr=$newType(12,$kindSlice,"net.HardwareAddr",true,"net",true,null);HW=$pkg.Addr=$newType(8,$kindInterface,"net.Addr",true,"net",true,null);II=$pkg.OpError=$newType(0,$kindStruct,"net.OpError",true,"net",true,function(Op_,Net_,Source_,Addr_,Err_){this.$val=this;if(arguments.length===0){this.Op="";this.Net="";this.Source=$ifaceNil;this.Addr=$ifaceNil;this.Err=$ifaceNil;return;}this.Op=Op_;this.Net=Net_;this.Source=Source_;this.Addr=Addr_;this.Err=Err_;});IM=$pkg.timeout=$newType(8,$kindInterface,"net.timeout",true,"net",false,null);IN=$pkg.temporary=$newType(8,$kindInterface,"net.temporary",true,"net",false,null);IO=$pkg.ParseError=$newType(0,$kindStruct,"net.ParseError",true,"net",true,function(Type_,Text_){this.$val=this;if(arguments.length===0){this.Type="";this.Text="";return;}this.Type=Type_;this.Text=Text_;});IP=$pkg.AddrError=$newType(0,$kindStruct,"net.AddrError",true,"net",true,function(Err_,Addr_){this.$val=this;if(arguments.length===0){this.Err="";this.Addr="";return;}this.Err=Err_;this.Addr=Addr_;});JJ=$pkg.file=$newType(0,$kindStruct,"net.file",true,"net",false,function(file_,data_,atEOF_){this.$val=this;if(arguments.length===0){this.file=OM.nil;this.data=NM.nil;this.atEOF=false;return;}this.file=file_;this.data=data_;this.atEOF=atEOF_;});LC=$pkg.sockaddr=$newType(8,$kindInterface,"net.sockaddr",true,"net",false,null);NE=$ptrType(L.Location);NG=$sliceType($String);NM=$sliceType($Uint8);NP=$ptrType(EZ);NX=$ptrType(FU);OE=$ptrType(II);OM=$ptrType(G.File);OQ=$ptrType(JJ);OR=$ptrType(EE);OS=$sliceType(HW);OT=$sliceType(EE);OU=$ptrType(B.IfInfomsg);OV=$ptrType(B.IfAddrmsg);OW=$arrayType($Uint8,4);PM=$ptrType(G.SyscallError);PN=$ptrType(IP);PP=$arrayType($Uint8,20);QL=$ptrType(EM);QM=$mapType($String,$Int);QN=$mapType($Int,$String);QO=$ptrType(EX);QT=$ptrType(IO);AJ=function(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=D.Sort(D.Reverse(($subslice(new AK(AI.$array),AI.$offset,AI.$offset+AI.$length))));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AJ};}$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.Len=function(){var l;l=this;return l.$length;};$ptrType(AK).prototype.Len=function(){return this.$get().Len();};AK.prototype.Swap=function(l,m){var l,m,n,o,p;n=this;o=$clone(((m<0||m>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+m]),AG);p=$clone(((l<0||l>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+l]),AG);AG.copy(((l<0||l>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+l]),o);AG.copy(((m<0||m>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+m]),p);};$ptrType(AK).prototype.Swap=function(l,m){return this.$get().Swap(l,m);};AK.prototype.Less=function(l,m){var l,m,n,o,p,q,r;n=this;o=((l<0||l>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+l]).Prefix.Mask.Size();p=o[0];q=((m<0||m>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+m]).Prefix.Mask.Size();r=q[0];return p=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]),AG);if(p.Prefix.Contains(l)){return p;}o++;}return new AG.ptr(NP.nil,0,0);};$ptrType(AH).prototype.Classify=function(l){return this.$get().Classify(l);};AP=function(){HU=true;};CY=function(l){var l,m,n,o;m=$assertType(l,B.Errno,true);n=m[0];o=m[1];if(o){return(n===104)||(n===103);}return false;};EF.prototype.String=function(){var l,m,n,o,p,q,r;l=this.$val;m="";n=EG;o=0;while(true){if(!(o=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]);if(!((((l&(((r=((p>>>0)),r<32?(1<>>0)))>>>0)===0))){if(!(m==="")){m=m+("|");}m=m+(q);}o++;}if(m===""){m="0";}return m;};$ptrType(EF).prototype.String=function(){return new EF(this.$get()).String();};EE.ptr.prototype.Addrs=function(){var l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;if(l===OR.nil){$s=-1;return[OS.nil,new II.ptr("route","ip+net",$ifaceNil,$ifaceNil,DZ)];}n=ER(l);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if(!($interfaceIsEqual(p,$ifaceNil))){p=new II.ptr("route","ip+net",$ifaceNil,$ifaceNil,p);}$s=-1;return[o,p];}return;}if($f===undefined){$f={$blk:EE.ptr.prototype.Addrs};}$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};EE.prototype.Addrs=function(){return this.$val.Addrs();};EE.ptr.prototype.MulticastAddrs=function(){var l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;if(l===OR.nil){$s=-1;return[OS.nil,new II.ptr("route","ip+net",$ifaceNil,$ifaceNil,DZ)];}n=EU(l);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if(!($interfaceIsEqual(p,$ifaceNil))){p=new II.ptr("route","ip+net",$ifaceNil,$ifaceNil,p);}$s=-1;return[o,p];}return;}if($f===undefined){$f={$blk:EE.ptr.prototype.MulticastAddrs};}$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};EE.prototype.MulticastAddrs=function(){return this.$val.MulticastAddrs();};EK=function(l,m){var l,m,n,o,p;n=l;o=0;while(true){if(!(o=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]),EE);if(m===p.Index){return[p,$ifaceNil];}o++;}return[OR.nil,EC];};EO=function(l){var aa,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=[m];o=B.NetlinkRIB(18,0);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];if(!($interfaceIsEqual(q,$ifaceNil))){$s=-1;return[OT.nil,G.NewSyscallError("netlinkrib",q)];}r=B.ParseNetlinkMessage(p);s=r[0];q=r[1];if(!($interfaceIsEqual(q,$ifaceNil))){$s=-1;return[OT.nil,G.NewSyscallError("parsenetlinkmessage",q)];}t=OT.nil;u=s;v=0;loop:while(true){if(!(v=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+v]),B.NetlinkMessage);w=m[0].Header.Type;if(w===(3)){break loop;}else if(w===(16)){x=($pointerOfStructConversion(($sliceToArray(m[0].Data)),OU));if((l===0)||(l===((x.Index>>0)))){y=B.ParseNetlinkRouteAttr(m[0]);z=y[0];aa=y[1];if(!($interfaceIsEqual(aa,$ifaceNil))){$s=-1;return[OT.nil,G.NewSyscallError("parsenetlinkrouteattr",aa)];}t=$append(t,EP(x,z));if(l===((x.Index>>0))){break loop;}}}v++;}$s=-1;return[t,$ifaceNil];}return;}if($f===undefined){$f={$blk:EO};}$f.aa=aa;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};EP=function(l,m){var aa,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;n=new EE.ptr(((l.Index>>0)),0,"",HS.nil,EQ(l.Flags));o=m;p=0;while(true){if(!(p=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]),B.NetlinkRouteAttr);r=q.Attr.Type;if(r===(1)){s=q.Value.$length;if(s===(4)){t=l.Type;if((t===(768))||(t===(778))||(t===(776))){p++;continue;}}else if(s===(16)){u=l.Type;if((u===(769))||(u===(823))){p++;continue;}}v=false;w=q.Value;x=0;while(true){if(!(x=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+x]);if(!((y===0))){v=true;break;}x++;}if(v){n.HardwareAddr=(z=q.Value,$subslice(new HS(z.$array),z.$offset,z.$offset+z.$length));}}else if(r===(3)){n.Name=($bytesToString($subslice(q.Value,0,(q.Value.$length-1>>0))));}else if(r===(4)){n.MTU=(((aa=$subslice(q.Value,0,4),(0>=aa.$length?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+0]))>>0));}p++;}return n;};EQ=function(l){var l,m;m=0;if(!((((l&1)>>>0)===0))){m=(m|(1))>>>0;}if(!((((l&2)>>>0)===0))){m=(m|(2))>>>0;}if(!((((l&8)>>>0)===0))){m=(m|(4))>>>0;}if(!((((l&16)>>>0)===0))){m=(m|(8))>>>0;}if(!((((l&4096)>>>0)===0))){m=(m|(16))>>>0;}return m;};ER=function(l){var l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=B.NetlinkRIB(22,0);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return[OS.nil,G.NewSyscallError("netlinkrib",p)];}q=B.ParseNetlinkMessage(o);r=q[0];p=q[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return[OS.nil,G.NewSyscallError("parsenetlinkmessage",p)];}s=OT.nil;if(l===OR.nil){$s=2;continue;}$s=3;continue;case 2:t=$ifaceNil;v=EO(0);$s=4;case 4:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;s=u[0];t=u[1];if(!($interfaceIsEqual(t,$ifaceNil))){$s=-1;return[OS.nil,t];}case 3:w=ES(s,l,r);x=w[0];p=w[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return[OS.nil,p];}$s=-1;return[x,$ifaceNil];}return;}if($f===undefined){$f={$blk:ER};}$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};ES=function(l,m,n){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;o=OS.nil;p=n;q=0;loop:while(true){if(!(q=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]),B.NetlinkMessage);s=r.Header.Type;if(s===(3)){break loop;}else if(s===(20)){t=($pointerOfStructConversion(($sliceToArray(r.Data)),OV));if(!((l.$length===0))||(m.Index===((t.Index>>0)))){if(!((l.$length===0))){u=$ifaceNil;v=EK(l,((t.Index>>0)));m=v[0];u=v[1];if(!($interfaceIsEqual(u,$ifaceNil))){return[OS.nil,u];}}w=B.ParseNetlinkRouteAttr(r);x=w[0];y=w[1];if(!($interfaceIsEqual(y,$ifaceNil))){return[OS.nil,G.NewSyscallError("parsenetlinkrouteattr",y)];}z=ET(t,x);if(!($interfaceIsEqual(z,$ifaceNil))){o=$append(o,z);}}}q++;}return[o,$ifaceNil];};ET=function(l,m){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;n=false;o=m;p=0;while(true){if(!(p=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]),B.NetlinkRouteAttr);if(q.Attr.Type===2){n=true;break;}p++;}r=m;s=0;while(true){if(!(s=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]),B.NetlinkRouteAttr);if(n&&(t.Attr.Type===1)){s++;continue;}u=l.Family;if(u===(2)){return new EZ.ptr(FA((v=t.Value,(0>=v.$length?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+0])),(w=t.Value,(1>=w.$length?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+1])),(x=t.Value,(2>=x.$length?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+2])),(y=t.Value,(3>=y.$length?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+3]))),FD(((l.Prefixlen>>0)),32));}else if(u===(10)){z=new EZ.ptr($makeSlice(EX,16),FD(((l.Prefixlen>>0)),128));$copySlice(z.IP,t.Value);return z;}s++;}return $ifaceNil;};EU=function(l){var l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=EV("/proc/net/igmp",l);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;o=EW("/proc/net/igmp6",l);$s=2;case 2:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;$s=-1;return[$appendSlice(n,p),$ifaceNil];}return;}if($f===undefined){$f={$blk:EU};}$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};EV=function(l,m){var aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);o=JK(l);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];if(!($interfaceIsEqual(q,$ifaceNil))){$s=-1;return OS.nil;}$deferred.push([$methodVal(p,"close"),[]]);r=OS.nil;s="";t=p.readLine();$s=2;case 2:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}t;u=$makeSlice(NM,4);w=p.readLine();$s=3;case 3:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=v[0];y=v[1];case 4:if(!(y)){$s=5;continue;}z=JN(x," :\r\t\n");if(z.$length<4){$s=6;continue;}$s=7;continue;case 6:ab=p.readLine();$s=8;case 8:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;x=aa[0];y=aa[1];$s=4;continue;case 7:if(!((x.charCodeAt(0)===32))&&!((x.charCodeAt(0)===9))){s=(1>=z.$length?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+1]);}else if(((0>=z.$length?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+0]).length===8)){if(m===OR.nil||s===m.Name){ac=0;while(true){if(!((ac+1>>0)<(0>=z.$length?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+0]).length)){break;}ad=JR($substring((0>=z.$length?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+0]),ac,(ac+2>>0)),0);(ae=(af=ac/2,(af===af&&af!==1/0&&af!==-1/0)?af>>0:$throwRuntimeError("integer divide by zero")),((ae<0||ae>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+ae]=ad[0]));ac=ac+(2)>>0;}ah=(ag=$subslice(u,0,4),(0>=ag.$length?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+0]));ai=new FU.ptr(FA((((ah>>>24>>>0)<<24>>>24)),(((ah>>>16>>>0)<<24>>>24)),(((ah>>>8>>>0)<<24>>>24)),((ah<<24>>>24))),"");r=$append(r,ai);}}ak=p.readLine();$s=9;case 9:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;x=aj[0];y=aj[1];$s=4;continue;case 5:$s=-1;return r;}return;}}catch(err){$err=err;$s=-1;return OS.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:EV};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EW=function(l,m){var aa,ab,ac,ad,ae,af,ag,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);o=JK(l);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];q=n[1];if(!($interfaceIsEqual(q,$ifaceNil))){$s=-1;return OS.nil;}$deferred.push([$methodVal(p,"close"),[]]);r=OS.nil;s=$makeSlice(NM,16);u=p.readLine();$s=2;case 2:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];case 3:if(!(w)){$s=4;continue;}x=JN(v," \r\t\n");if(x.$length<6){$s=5;continue;}$s=6;continue;case 5:z=p.readLine();$s=7;case 7:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;v=y[0];w=y[1];$s=3;continue;case 6:if(m===OR.nil||(1>=x.$length?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+1])===m.Name){aa=0;while(true){if(!((aa+1>>0)<(2>=x.$length?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+2]).length)){break;}ab=JR($substring((2>=x.$length?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+2]),aa,(aa+2>>0)),0);(ac=(ad=aa/2,(ad===ad&&ad!==1/0&&ad!==-1/0)?ad>>0:$throwRuntimeError("integer divide by zero")),((ac<0||ac>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+ac]=ab[0]));aa=aa+(2)>>0;}ae=new FU.ptr(new EX([(0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0]),(1>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+1]),(2>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+2]),(3>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+3]),(4>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+4]),(5>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+5]),(6>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+6]),(7>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+7]),(8>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+8]),(9>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+9]),(10>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+10]),(11>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+11]),(12>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+12]),(13>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+13]),(14>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+14]),(15>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+15])]),"");r=$append(r,ae);}ag=p.readLine();$s=8;case 8:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;v=af[0];w=af[1];$s=3;continue;case 4:$s=-1;return r;}return;}}catch(err){$err=err;$s=-1;return OS.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:EW};}$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};FA=function(l,m,n,o){var l,m,n,o,p;p=$makeSlice(EX,16);$copySlice(p,FB);(12>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+12]=l);(13>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+13]=m);(14>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+14]=n);(15>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+15]=o);return p;};$pkg.IPv4=FA;FC=function(l,m,n,o){var l,m,n,o,p;p=$makeSlice(EY,4);(0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0]=l);(1>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+1]=m);(2>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+2]=n);(3>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+3]=o);return p;};$pkg.IPv4Mask=FC;FD=function(l,m){var l,m,n,o,p,q,r,s;if(!((m===32))&&!((m===128))){return EY.nil;}if(l<0||l>m){return EY.nil;}o=(n=m/8,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"));p=$makeSlice(EY,o);q=((l>>>0));r=0;while(true){if(!(r=8){((r<0||r>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+r]=255);q=q-(8)>>>0;r=r+(1)>>0;continue;}((r<0||r>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+r]=(~(((s=q,s<32?(255>>>s):0)<<24>>>24))<<24>>>24));q=0;r=r+(1)>>0;}return p;};$pkg.CIDRMask=FD;EX.prototype.IsUnspecified=function(){var l;l=this;return l.Equal($pkg.IPv4zero)||l.Equal($pkg.IPv6unspecified);};$ptrType(EX).prototype.IsUnspecified=function(){return this.$get().IsUnspecified();};EX.prototype.IsLoopback=function(){var l,m;l=this;m=l.To4();if(!(m===EX.nil)){return(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])===127;}return l.Equal($pkg.IPv6loopback);};$ptrType(EX).prototype.IsLoopback=function(){return this.$get().IsLoopback();};EX.prototype.IsMulticast=function(){var l,m;l=this;m=l.To4();if(!(m===EX.nil)){return(((0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])&240)>>>0)===224;}return(l.$length===16)&&((0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])===255);};$ptrType(EX).prototype.IsMulticast=function(){return this.$get().IsMulticast();};EX.prototype.IsInterfaceLocalMulticast=function(){var l;l=this;return(l.$length===16)&&((0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])===255)&&((((1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1])&15)>>>0)===1);};$ptrType(EX).prototype.IsInterfaceLocalMulticast=function(){return this.$get().IsInterfaceLocalMulticast();};EX.prototype.IsLinkLocalMulticast=function(){var l,m;l=this;m=l.To4();if(!(m===EX.nil)){return((0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])===224)&&((1>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+1])===0)&&((2>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+2])===0);}return(l.$length===16)&&((0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])===255)&&((((1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1])&15)>>>0)===2);};$ptrType(EX).prototype.IsLinkLocalMulticast=function(){return this.$get().IsLinkLocalMulticast();};EX.prototype.IsLinkLocalUnicast=function(){var l,m;l=this;m=l.To4();if(!(m===EX.nil)){return((0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])===169)&&((1>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+1])===254);}return(l.$length===16)&&((0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])===254)&&((((1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1])&192)>>>0)===128);};$ptrType(EX).prototype.IsLinkLocalUnicast=function(){return this.$get().IsLinkLocalUnicast();};EX.prototype.IsGlobalUnicast=function(){var l;l=this;return((l.$length===4)||(l.$length===16))&&!l.Equal($pkg.IPv4bcast)&&!l.IsUnspecified()&&!l.IsLoopback()&&!l.IsMulticast()&&!l.IsLinkLocalUnicast();};$ptrType(EX).prototype.IsGlobalUnicast=function(){return this.$get().IsGlobalUnicast();};FE=function(l){var l,m;m=0;while(true){if(!(m=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m])===0))){return false;}m=m+(1)>>0;}return true;};EX.prototype.To4=function(){var l;l=this;if(l.$length===4){return l;}if((l.$length===16)&&FE($subslice(l,0,10))&&((10>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+10])===255)&&((11>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+11])===255)){return $subslice(l,12,16);}return EX.nil;};$ptrType(EX).prototype.To4=function(){return this.$get().To4();};EX.prototype.To16=function(){var l;l=this;if(l.$length===4){return FA((0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0]),(1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1]),(2>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+2]),(3>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+3]));}if(l.$length===16){return l;}return EX.nil;};$ptrType(EX).prototype.To16=function(){return this.$get().To16();};EX.prototype.DefaultMask=function(){var l;l=this;l=l.To4();if(l===EX.nil){return EY.nil;}if((0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])<128){return FF;}else if((0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])<192){return FG;}else{return FH;}};$ptrType(EX).prototype.DefaultMask=function(){return this.$get().DefaultMask();};FI=function(l){var l,m,n,o;m=l;n=0;while(true){if(!(n=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);if(!((o===255))){return false;}n++;}return true;};EX.prototype.Mask=function(l){var l,m,n,o,p,q,r;m=this;if((l.$length===16)&&(m.$length===4)&&FI((n=$subslice(l,0,12),$subslice(new NM(n.$array),n.$offset,n.$offset+n.$length)))){l=$subslice(l,12);}if((l.$length===4)&&(m.$length===16)&&F.Equal((o=$subslice(m,0,12),$subslice(new NM(o.$array),o.$offset,o.$offset+o.$length)),FB)){m=$subslice(m,12);}p=m.$length;if(!((p===l.$length))){return EX.nil;}q=$makeSlice(EX,p);r=0;while(true){if(!(r=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]=((((r<0||r>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+r])&((r<0||r>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+r]))>>>0));r=r+(1)>>0;}return q;};$ptrType(EX).prototype.Mask=function(l){return this.$get().Mask(l);};FJ=function(l,m,n){var l,m,n,o,p,q,r,s,t,u,v,w;if(n<10){((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]=(n+48<<24>>>24));return 1;}else if(n<100){(p=m+1>>0,((p<0||p>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+p]=((o=n%10,o===o?o:$throwRuntimeError("integer divide by zero"))+48<<24>>>24)));((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]=((q=n/10,(q===q&&q!==1/0&&q!==-1/0)?q>>>0:$throwRuntimeError("integer divide by zero"))+48<<24>>>24));return 2;}(s=m+2>>0,((s<0||s>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+s]=((r=n%10,r===r?r:$throwRuntimeError("integer divide by zero"))+48<<24>>>24)));(v=m+1>>0,((v<0||v>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+v]=((t=((u=n/10,(u===u&&u!==1/0&&u!==-1/0)?u>>>0:$throwRuntimeError("integer divide by zero")))%10,t===t?t:$throwRuntimeError("integer divide by zero"))+48<<24>>>24)));((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]=((w=n/100,(w===w&&w!==1/0&&w!==-1/0)?w>>>0:$throwRuntimeError("integer divide by zero"))+48<<24>>>24));return 3;};EX.prototype.String=function(){var l,m,n,o,p,q,r,s,t,u,v,w,x;l=this;m=l;if(l.$length===0){return"";}n=m.To4();if(n.$length===4){o=$makeSlice(NM,15);p=FJ(o,0,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0]));((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=46);p=p+(1)>>0;p=p+(FJ(o,p,(1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1])))>>0;((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=46);p=p+(1)>>0;p=p+(FJ(o,p,(2>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+2])))>>0;((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]=46);p=p+(1)>>0;p=p+(FJ(o,p,(3>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+3])))>>0;return($bytesToString($subslice(o,0,p)));}if(!((m.$length===16))){return"?"+FK($subslice(new NM(l.$array),l.$offset,l.$offset+l.$length));}q=-1;r=-1;s=0;while(true){if(!(s<16)){break;}t=s;while(true){if(!(t<16&&(((t<0||t>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+t])===0)&&((u=t+1>>0,((u<0||u>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+u]))===0))){break;}t=t+(2)>>0;}if(t>s&&(t-s>>0)>(r-q>>0)){q=s;r=t;s=t;}s=s+(2)>>0;}if((r-q>>0)<=2){q=-1;r=-1;}v=$makeSlice(NM,0,39);w=0;while(true){if(!(w<16)){break;}if(w===q){v=$append(v,58,58);w=r;if(w>=16){break;}}else if(w>0){v=$append(v,58);}v=JU(v,(((((((w<0||w>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+w])>>>0))<<8>>>0))|(((x=w+1>>0,((x<0||x>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+x]))>>>0)))>>>0);w=w+(2)>>0;}return($bytesToString(v));};$ptrType(EX).prototype.String=function(){return this.$get().String();};FK=function(l){var l,m,n,o,p,q,r,s,t,u;m=$makeSlice(NM,($imul(l.$length,2)));n=l;o=0;while(true){if(!(o=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]);r="0123456789abcdef".charCodeAt((q>>>4<<24>>>24));s="0123456789abcdef".charCodeAt(((q&15)>>>0));(t=$imul(p,2),((t<0||t>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+t]=r));(u=($imul(p,2))+1>>0,((u<0||u>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+u]=s));o++;}return($bytesToString(m));};FL=function(l){var l;if(l.$length===0){return"";}return l.String();};EX.prototype.MarshalText=function(){var l;l=this;if(l.$length===0){return[(new NM($stringToBytes(""))),$ifaceNil];}if(!((l.$length===4))&&!((l.$length===16))){return[NM.nil,new IP.ptr("invalid IP address",FK($subslice(new NM(l.$array),l.$offset,l.$offset+l.$length)))];}return[(new NM($stringToBytes(l.String()))),$ifaceNil];};$ptrType(EX).prototype.MarshalText=function(){return this.$get().MarshalText();};$ptrType(EX).prototype.UnmarshalText=function(l){var l,m,n,o;m=this;if(l.$length===0){m.$set(EX.nil);return $ifaceNil;}n=($bytesToString(l));o=FR(n);if(o===EX.nil){return new IO.ptr("IP address",n);}m.$set(o);return $ifaceNil;};EX.prototype.Equal=function(l){var l,m,n,o,p,q;m=this;if(m.$length===l.$length){return F.Equal($subslice(new NM(m.$array),m.$offset,m.$offset+m.$length),$subslice(new NM(l.$array),l.$offset,l.$offset+l.$length));}if((m.$length===4)&&(l.$length===16)){return F.Equal((n=$subslice(l,0,12),$subslice(new NM(n.$array),n.$offset,n.$offset+n.$length)),FB)&&F.Equal($subslice(new NM(m.$array),m.$offset,m.$offset+m.$length),(o=$subslice(l,12),$subslice(new NM(o.$array),o.$offset,o.$offset+o.$length)));}if((m.$length===16)&&(l.$length===4)){return F.Equal((p=$subslice(m,0,12),$subslice(new NM(p.$array),p.$offset,p.$offset+p.$length)),FB)&&F.Equal((q=$subslice(m,12),$subslice(new NM(q.$array),q.$offset,q.$offset+q.$length)),$subslice(new NM(l.$array),l.$offset,l.$offset+l.$length));}return false;};$ptrType(EX).prototype.Equal=function(l){return this.$get().Equal(l);};FM=function(l){var l,m,n,o,p,q,r;m=0;n=l;o=0;while(true){if(!(o=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]);if(q===255){m=m+(8)>>0;o++;continue;}while(true){if(!(!((((q&128)>>>0)===0)))){break;}m=m+(1)>>0;q=(r=(1),r<32?(q<>>24;}if(!((q===0))){return-1;}p=p+(1)>>0;while(true){if(!(p=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+p])===0))){return-1;}p=p+(1)>>0;}break;}return m;};EY.prototype.Size=function(){var l,m,n,o,p,q,r;l=0;m=0;n=this;o=FM(n);p=$imul(n.$length,8);l=o;m=p;if(l===-1){q=0;r=0;l=q;m=r;return[l,m];}return[l,m];};$ptrType(EY).prototype.Size=function(){return this.$get().Size();};EY.prototype.String=function(){var l;l=this;if(l.$length===0){return"";}return FK($subslice(new NM(l.$array),l.$offset,l.$offset+l.$length));};$ptrType(EY).prototype.String=function(){return this.$get().String();};FN=function(l){var l,m,n,o,p,q,r,s,t,u;m=EX.nil;n=EY.nil;m=l.IP.To4();if(m===EX.nil){m=l.IP;if(!((m.$length===16))){o=EX.nil;p=EY.nil;m=o;n=p;return[m,n];}}n=l.Mask;q=n.$length;if(q===(4)){if(!((m.$length===4))){r=EX.nil;s=EY.nil;m=r;n=s;return[m,n];}}else if(q===(16)){if(m.$length===4){n=$subslice(n,12);}}else{t=EX.nil;u=EY.nil;m=t;n=u;return[m,n];}return[m,n];};EZ.ptr.prototype.Contains=function(l){var l,m,n,o,p,q,r,s;m=this;n=FN(m);o=n[0];p=n[1];q=l.To4();if(!(q===EX.nil)){l=q;}r=l.$length;if(!((r===o.$length))){return false;}s=0;while(true){if(!(s=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+s])&((s<0||s>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+s]))>>>0)===((((s<0||s>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+s])&((s<0||s>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+s]))>>>0)))){return false;}s=s+(1)>>0;}return true;};EZ.prototype.Contains=function(l){return this.$val.Contains(l);};EZ.ptr.prototype.Network=function(){var l;l=this;return"ip+net";};EZ.prototype.Network=function(){return this.$val.Network();};EZ.ptr.prototype.String=function(){var l,m,n,o,p;l=this;m=FN(l);n=m[0];o=m[1];if(n===EX.nil||o===EY.nil){return"";}p=FM(o);if(p===-1){return n.String()+"/"+o.String();}return n.String()+"/"+JT(((p>>>0)));};EZ.prototype.String=function(){return this.$val.String();};FO=function(l){var l,m,n,o,p,q,r;m=OW.zero();n=0;while(true){if(!(n<4)){break;}if(l.length===0){return EX.nil;}if(n>0){if(!((l.charCodeAt(0)===46))){return EX.nil;}l=$substring(l,1);}o=JP(l);p=o[0];q=o[1];r=o[2];if(!r||p>255){return EX.nil;}l=$substring(l,q);((n<0||n>=m.length)?($throwRuntimeError("index out of range"),undefined):m[n]=((p<<24>>>24)));n=n+(1)>>0;}if(!((l.length===0))){return EX.nil;}return FA(m[0],m[1],m[2],m[3]);};FQ=function(l){var aa,ab,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;m=EX.nil;m=$makeSlice(EX,16);n=-1;if(l.length>=2&&(l.charCodeAt(0)===58)&&(l.charCodeAt(1)===58)){n=0;l=$substring(l,2);if(l.length===0){m=m;return m;}}o=0;while(true){if(!(o<16)){break;}p=JQ(l);q=p[0];r=p[1];s=p[2];if(!s||q>65535){m=EX.nil;return m;}if(r>0)>16){m=EX.nil;return m;}t=FO(l);if(t===EX.nil){m=EX.nil;return m;}((o<0||o>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+o]=(12>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+12]));(u=o+1>>0,((u<0||u>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+u]=(13>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+13])));(v=o+2>>0,((v<0||v>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+v]=(14>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+14])));(w=o+3>>0,((w<0||w>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+w]=(15>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+15])));l="";o=o+(4)>>0;break;}((o<0||o>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+o]=(((q>>8>>0)<<24>>>24)));(x=o+1>>0,((x<0||x>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+x]=((q<<24>>>24))));o=o+(2)>>0;l=$substring(l,r);if(l.length===0){break;}if(!((l.charCodeAt(0)===58))||(l.length===1)){m=EX.nil;return m;}l=$substring(l,1);if(l.charCodeAt(0)===58){if(n>=0){m=EX.nil;return m;}n=o;l=$substring(l,1);if(l.length===0){break;}}}if(!((l.length===0))){m=EX.nil;return m;}if(o<16){if(n<0){m=EX.nil;return m;}y=16-o>>0;z=o-1>>0;while(true){if(!(z>=n)){break;}(aa=z+y>>0,((aa<0||aa>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+aa]=((z<0||z>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+z])));z=z-(1)>>0;}ab=(n+y>>0)-1>>0;while(true){if(!(ab>=n)){break;}((ab<0||ab>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+ab]=0);ab=ab-(1)>>0;}}else if(n>=0){m=EX.nil;return m;}m=m;return m;};FR=function(l){var l,m,n;m=0;while(true){if(!(m>0;}return EX.nil;};$pkg.ParseIP=FR;FT=function(l){var l,m,n,o,p,q,r,s,t,u,v,w;m=F.IndexByteString(l,47);if(m<0){return[EX.nil,NP.nil,new IO.ptr("CIDR address",l)];}n=$substring(l,0,m);o=$substring(l,(m+1>>0));p=n;q=o;r=4;s=FO(p);if(s===EX.nil){r=16;s=FQ(p);}t=JP(q);u=t[0];m=t[1];v=t[2];if(s===EX.nil||!v||!((m===q.length))||u<0||u>($imul(8,r))){return[EX.nil,NP.nil,new IO.ptr("CIDR address",l)];}w=FD(u,$imul(8,r));return[s,new EZ.ptr(s.Mask(w),w),$ifaceNil];};$pkg.ParseCIDR=FT;FU.ptr.prototype.Network=function(){var l;l=this;return"ip";};FU.prototype.Network=function(){return this.$val.Network();};FU.ptr.prototype.String=function(){var l,m;l=this;if(l===NX.nil){return"";}m=FL(l.IP);if(!(l.Zone==="")){return m+"%"+l.Zone;}return m;};FU.prototype.String=function(){return this.$val.String();};HS.prototype.String=function(){var l,m,n,o,p,q;l=this;if(l.$length===0){return"";}m=$makeSlice(NM,0,(($imul(l.$length,3))-1>>0));n=l;o=0;while(true){if(!(o=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]);if(p>0){m=$append(m,58);}m=$append(m,"0123456789abcdef".charCodeAt((q>>>4<<24>>>24)));m=$append(m,"0123456789abcdef".charCodeAt(((q&15)>>>0)));o++;}return($bytesToString(m));};$ptrType(HS).prototype.String=function(){return this.$get().String();};II.ptr.prototype.Error=function(){var l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;if(l===OE.nil){$s=-1;return"";}m=l.Op;if(!(l.Net==="")){m=m+(" "+l.Net);}if(!($interfaceIsEqual(l.Source,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:n=l.Source.String();$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=m+(" "+n);case 2:if(!($interfaceIsEqual(l.Addr,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:if(!($interfaceIsEqual(l.Source,$ifaceNil))){m=m+("->");}else{m=m+(" ");}o=l.Addr.String();$s=6;case 6:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}m=m+(o);case 5:p=l.Err.Error();$s=7;case 7:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}m=m+(": "+p);$s=-1;return m;}return;}if($f===undefined){$f={$blk:II.ptr.prototype.Error};}$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};II.prototype.Error=function(){return this.$val.Error();};II.ptr.prototype.Timeout=function(){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;m=$assertType(l.Err,PM,true);n=m[0];o=m[1];if(o){$s=1;continue;}$s=2;continue;case 1:p=$assertType(n.Err,IM,true);q=p[0];r=p[1];if(!(r)){s=false;$s=3;continue s;}t=q.Timeout();$s=4;case 4:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;case 3:$s=-1;return s;case 2:u=$assertType(l.Err,IM,true);v=u[0];w=u[1];if(!(w)){x=false;$s=5;continue s;}y=v.Timeout();$s=6;case 6:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;case 5:$s=-1;return x;}return;}if($f===undefined){$f={$blk:II.ptr.prototype.Timeout};}$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};II.prototype.Timeout=function(){return this.$val.Timeout();};II.ptr.prototype.Temporary=function(){var l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;if(l.Op==="accept"&&CY(l.Err)){$s=-1;return true;}m=$assertType(l.Err,PM,true);n=m[0];o=m[1];if(o){$s=1;continue;}$s=2;continue;case 1:p=$assertType(n.Err,IN,true);q=p[0];r=p[1];if(!(r)){s=false;$s=3;continue s;}t=q.Temporary();$s=4;case 4:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;case 3:$s=-1;return s;case 2:u=$assertType(l.Err,IN,true);v=u[0];w=u[1];if(!(w)){x=false;$s=5;continue s;}y=v.Temporary();$s=6;case 6:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;case 5:$s=-1;return x;}return;}if($f===undefined){$f={$blk:II.ptr.prototype.Temporary};}$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};II.prototype.Temporary=function(){return this.$val.Temporary();};IO.ptr.prototype.Error=function(){var l;l=this;return"invalid "+l.Type+": "+l.Text;};IO.prototype.Error=function(){return this.$val.Error();};IP.ptr.prototype.Error=function(){var l,m;l=this;if(l===PN.nil){return"";}m=l.Err;if(!(l.Addr==="")){m="address "+l.Addr+": "+m;}return m;};IP.prototype.Error=function(){return this.$val.Error();};IP.ptr.prototype.Timeout=function(){var l;l=this;return false;};IP.prototype.Timeout=function(){return this.$val.Timeout();};IP.ptr.prototype.Temporary=function(){var l;l=this;return false;};IP.prototype.Temporary=function(){return this.$val.Temporary();};JJ.ptr.prototype.close=function(){var l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;m=l.file.Close();$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;$s=-1;return;}return;}if($f===undefined){$f={$blk:JJ.ptr.prototype.close};}$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};JJ.prototype.close=function(){return this.$val.close();};JJ.ptr.prototype.getLineFromData=function(){var l,m,n,o,p,q;l="";m=false;n=this;o=n.data;p=0;p=0;while(true){if(!(p=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p])===10){l=($bytesToString($subslice(o,0,p)));m=true;p=p+(1)>>0;q=o.$length-p>>0;$copySlice($subslice(o,0),$subslice(o,p));n.data=$subslice(o,0,q);return[l,m];}p=p+(1)>>0;}if(n.atEOF&&n.data.$length>0){l=($bytesToString(o));n.data=$subslice(n.data,0,0);m=true;}return[l,m];};JJ.prototype.getLineFromData=function(){return this.$val.getLineFromData();};JJ.ptr.prototype.readLine=function(){var l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l="";m=false;n=this;o=n.getLineFromData();l=o[0];m=o[1];if(m){$s=-1;return[l,m];}if(n.data.$length=0){n.data=$subslice(n.data,0,(p+s>>0));}if($interfaceIsEqual(t,O.EOF)||$interfaceIsEqual(t,O.ErrUnexpectedEOF)){n.atEOF=true;}case 2:u=n.getLineFromData();l=u[0];m=u[1];$s=-1;return[l,m];}return;}if($f===undefined){$f={$blk:JJ.ptr.prototype.readLine};}$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};JJ.prototype.readLine=function(){return this.$val.readLine();};JK=function(l){var l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:n=G.Open(l);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return[OQ.nil,p];}$s=-1;return[new JJ.ptr(o,$makeSlice(NM,0,65536),false),$ifaceNil];}return;}if($f===undefined){$f={$blk:JK};}$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};JM=function(l,m){var l,m,n,o;n=0;o=0;while(true){if(!(o=0){n=n+(1)>>0;}o=o+(1)>>0;}return n;};JN=function(l,m){var l,m,n,o,p,q;n=$makeSlice(NG,(1+JM(l,m)>>0));o=0;p=0;q=0;while(true){if(!(q=0){if(p=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=$substring(l,p,q));o=o+(1)>>0;}p=q+1>>0;}q=q+(1)>>0;}if(p=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]=$substring(l,p));o=o+(1)>>0;}return $subslice(n,0,o);};JP=function(l){var l,m,n,o,p,q,r,s,t,u,v,w,x;m=0;n=0;o=false;m=0;n=0;while(true){if(!(n>>24)>>0))>>0;if(m>=16777215){p=16777215;q=n;r=false;m=p;n=q;o=r;return[m,n,o];}n=n+(1)>>0;}if(n===0){s=0;t=0;u=false;m=s;n=t;o=u;return[m,n,o];}v=m;w=n;x=true;m=v;n=w;o=x;return[m,n,o];};JQ=function(l){var l,m,n,o,p,q,r,s,t,u,v,w,x;m=0;n=0;o=false;m=0;n=0;while(true){if(!(n>>24)>>0)))>>0;}else if(97<=l.charCodeAt(n)&&l.charCodeAt(n)<=102){m=$imul(m,(16));m=m+(((((l.charCodeAt(n)-97<<24>>>24)>>0))+10>>0))>>0;}else if(65<=l.charCodeAt(n)&&l.charCodeAt(n)<=70){m=$imul(m,(16));m=m+(((((l.charCodeAt(n)-65<<24>>>24)>>0))+10>>0))>>0;}else{break;}if(m>=16777215){p=0;q=n;r=false;m=p;n=q;o=r;return[m,n,o];}n=n+(1)>>0;}if(n===0){s=0;t=n;u=false;m=s;n=t;o=u;return[m,n,o];}v=m;w=n;x=true;m=v;n=w;o=x;return[m,n,o];};JR=function(l,m){var l,m,n,o,p,q;if(l.length>2&&!((l.charCodeAt(2)===m))){return[0,false];}n=JQ($substring(l,0,2));o=n[0];p=n[1];q=n[2];return[((o<<24>>>24)),q&&(p===2)];};JT=function(l){var l,m,n,o,p;if(l===0){return"0";}m=PP.zero();n=19;while(true){if(!(l>=10)){break;}p=(o=l/10,(o===o&&o!==1/0&&o!==-1/0)?o>>>0:$throwRuntimeError("integer divide by zero"));((n<0||n>=m.length)?($throwRuntimeError("index out of range"),undefined):m[n]=((((48+l>>>0)-(p*10>>>0)>>>0)<<24>>>24)));n=n-(1)>>0;l=p;}((n<0||n>=m.length)?($throwRuntimeError("index out of range"),undefined):m[n]=(((48+l>>>0)<<24>>>24)));return($bytesToString($subslice(new NM(m),n)));};JU=function(l,m){var l,m,n,o,p;if(m===0){return $append(l,48);}n=7;while(true){if(!(n>=0)){break;}p=(o=((($imul(n,4))>>>0)),o<32?(m>>>o):0)>>>0;if(p>0){l=$append(l,"0123456789abcdef".charCodeAt(((p&15)>>>0)));}n=n-(1)>>0;}return l;};AH.methods=[{prop:"Classify",name:"Classify",pkg:"",typ:$funcType([EX],[AG],false)}];AK.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)}];OR.methods=[{prop:"Addrs",name:"Addrs",pkg:"",typ:$funcType([],[OS,$error],false)},{prop:"MulticastAddrs",name:"MulticastAddrs",pkg:"",typ:$funcType([],[OS,$error],false)}];EF.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];QL.methods=[{prop:"update",name:"update",pkg:"net",typ:$funcType([OT,$Bool],[$Bool],false)},{prop:"name",name:"name",pkg:"net",typ:$funcType([$Int],[$String],false)},{prop:"index",name:"index",pkg:"net",typ:$funcType([$String],[$Int],false)}];EX.methods=[{prop:"IsUnspecified",name:"IsUnspecified",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsLoopback",name:"IsLoopback",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsMulticast",name:"IsMulticast",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsInterfaceLocalMulticast",name:"IsInterfaceLocalMulticast",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsLinkLocalMulticast",name:"IsLinkLocalMulticast",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsLinkLocalUnicast",name:"IsLinkLocalUnicast",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsGlobalUnicast",name:"IsGlobalUnicast",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"To4",name:"To4",pkg:"",typ:$funcType([],[EX],false)},{prop:"To16",name:"To16",pkg:"",typ:$funcType([],[EX],false)},{prop:"DefaultMask",name:"DefaultMask",pkg:"",typ:$funcType([],[EY],false)},{prop:"Mask",name:"Mask",pkg:"",typ:$funcType([EY],[EX],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[NM,$error],false)},{prop:"Equal",name:"Equal",pkg:"",typ:$funcType([EX],[$Bool],false)},{prop:"matchAddrFamily",name:"matchAddrFamily",pkg:"net",typ:$funcType([EX],[$Bool],false)}];QO.methods=[{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([NM],[$error],false)}];EY.methods=[{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int,$Int],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];NP.methods=[{prop:"Contains",name:"Contains",pkg:"",typ:$funcType([EX],[$Bool],false)},{prop:"Network",name:"Network",pkg:"",typ:$funcType([],[$String],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];NX.methods=[{prop:"Network",name:"Network",pkg:"",typ:$funcType([],[$String],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"isWildcard",name:"isWildcard",pkg:"net",typ:$funcType([],[$Bool],false)},{prop:"opAddr",name:"opAddr",pkg:"net",typ:$funcType([],[HW],false)},{prop:"family",name:"family",pkg:"net",typ:$funcType([],[$Int],false)},{prop:"sockaddr",name:"sockaddr",pkg:"net",typ:$funcType([$Int],[B.Sockaddr,$error],false)},{prop:"toLocal",name:"toLocal",pkg:"net",typ:$funcType([$String],[LC],false)}];HS.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];OE.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)}];QT.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];PN.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)}];OQ.methods=[{prop:"close",name:"close",pkg:"net",typ:$funcType([],[],false)},{prop:"getLineFromData",name:"getLineFromData",pkg:"net",typ:$funcType([],[$String,$Bool],false)},{prop:"readLine",name:"readLine",pkg:"net",typ:$funcType([],[$String,$Bool],false)}];AG.init("",[{prop:"Prefix",name:"Prefix",embedded:false,exported:true,typ:NP,tag:""},{prop:"Precedence",name:"Precedence",embedded:false,exported:true,typ:$Uint8,tag:""},{prop:"Label",name:"Label",embedded:false,exported:true,typ:$Uint8,tag:""}]);AH.init(AG);AK.init(AG);EE.init("",[{prop:"Index",name:"Index",embedded:false,exported:true,typ:$Int,tag:""},{prop:"MTU",name:"MTU",embedded:false,exported:true,typ:$Int,tag:""},{prop:"Name",name:"Name",embedded:false,exported:true,typ:$String,tag:""},{prop:"HardwareAddr",name:"HardwareAddr",embedded:false,exported:true,typ:HS,tag:""},{prop:"Flags",name:"Flags",embedded:false,exported:true,typ:EF,tag:""}]);EM.init("net",[{prop:"RWMutex",name:"RWMutex",embedded:true,exported:true,typ:I.RWMutex,tag:""},{prop:"lastFetched",name:"lastFetched",embedded:false,exported:false,typ:L.Time,tag:""},{prop:"toIndex",name:"toIndex",embedded:false,exported:false,typ:QM,tag:""},{prop:"toName",name:"toName",embedded:false,exported:false,typ:QN,tag:""}]);EX.init($Uint8);EY.init($Uint8);EZ.init("",[{prop:"IP",name:"IP",embedded:false,exported:true,typ:EX,tag:""},{prop:"Mask",name:"Mask",embedded:false,exported:true,typ:EY,tag:""}]);FU.init("",[{prop:"IP",name:"IP",embedded:false,exported:true,typ:EX,tag:""},{prop:"Zone",name:"Zone",embedded:false,exported:true,typ:$String,tag:""}]);HS.init($Uint8);HW.init([{prop:"Network",name:"Network",pkg:"",typ:$funcType([],[$String],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}]);II.init("",[{prop:"Op",name:"Op",embedded:false,exported:true,typ:$String,tag:""},{prop:"Net",name:"Net",embedded:false,exported:true,typ:$String,tag:""},{prop:"Source",name:"Source",embedded:false,exported:true,typ:HW,tag:""},{prop:"Addr",name:"Addr",embedded:false,exported:true,typ:HW,tag:""},{prop:"Err",name:"Err",embedded:false,exported:true,typ:$error,tag:""}]);IM.init([{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)}]);IN.init([{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)}]);IO.init("",[{prop:"Type",name:"Type",embedded:false,exported:true,typ:$String,tag:""},{prop:"Text",name:"Text",embedded:false,exported:true,typ:$String,tag:""}]);IP.init("",[{prop:"Err",name:"Err",embedded:false,exported:true,typ:$String,tag:""},{prop:"Addr",name:"Addr",embedded:false,exported:true,typ:$String,tag:""}]);JJ.init("net",[{prop:"file",name:"file",embedded:false,exported:false,typ:OM,tag:""},{prop:"data",name:"data",embedded:false,exported:false,typ:NM,tag:""},{prop:"atEOF",name:"atEOF",embedded:false,exported:false,typ:$Bool,tag:""}]);LC.init([{prop:"Network",name:"Network",pkg:"",typ:$funcType([],[$String],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"family",name:"family",pkg:"net",typ:$funcType([],[$Int],false)},{prop:"isWildcard",name:"isWildcard",pkg:"net",typ:$funcType([],[$Bool],false)},{prop:"sockaddr",name:"sockaddr",pkg:"net",typ:$funcType([$Int],[B.Sockaddr,$error],false)},{prop:"toLocal",name:"toLocal",pkg:"net",typ:$funcType([$String],[LC],false)}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=E.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=Q.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=N.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=O.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=P.$init();$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}HU=false;BX=A.New("lame referral");BY=A.New("cannot unmarshal DNS message");BZ=A.New("cannot marshal DNS message");CA=A.New("server misbehaving");CB=A.New("invalid DNS response");CC=A.New("no answer from DNS server");CD=A.New("server misbehaving");DM=(function $b(c,d,e,f){var c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=d(c,e,f);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:$b};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;});DZ=A.New("invalid network interface");EA=A.New("invalid network interface index");EB=A.New("invalid network interface name");EC=A.New("no such network interface");ED=A.New("no such multicast network interface");EG=new NG(["up","broadcast","loopback","pointtopoint","multicast"]);EN=new EM.ptr(new I.RWMutex.ptr(new I.Mutex.ptr(0,0),0,0,0,0),new L.Time.ptr(new $Uint64(0,0),new $Int64(0,0),NE.nil),{},{});FB=new NM([0,0,0,0,0,0,0,0,0,0,255,255]);$pkg.IPv4bcast=FA(255,255,255,255);$pkg.IPv4allsys=FA(224,0,0,1);$pkg.IPv4allrouter=FA(224,0,0,2);$pkg.IPv4zero=FA(0,0,0,0);$pkg.IPv6unspecified=new EX([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);$pkg.IPv6loopback=new EX([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]);FF=FC(255,0,0,0);FG=FC(255,255,0,0);FH=FC(255,255,255,0);IE=A.New("no suitable address found");IF=A.New("missing address");IG=A.New("operation was canceled");$pkg.ErrWriteToConnected=A.New("use of WriteTo with pre-connected connection");IJ=$clone(L.Unix(new $Int64(0,1),new $Int64(0,0)),L.Time);IT=A.New("no such host");c=AL("::1/128");$s=18;case 18:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=AL("::/0");$s=19;case 19:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=AL("::ffff:0:0/96");$s=20;case 20:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=AL("2002::/16");$s=21;case 21:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=AL("2001::/32");$s=22;case 22:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=AL("fc00::/7");$s=23;case 23:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=AL("::/96");$s=24;case 24:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=AL("fec0::/10");$s=25;case 25:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=AL("3ffe::/16");$s=26;case 26:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}AI=new AH([new AG.ptr(c,50,0),new AG.ptr(d,40,1),new AG.ptr(e,35,4),new AG.ptr(f,30,2),new AG.ptr(g,5,5),new AG.ptr(h,3,13),new AG.ptr(i,1,3),new AG.ptr(j,1,11),new AG.ptr(k,1,12)]);$r=AJ();$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AP();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})(); $packages["net/url"]=(function(){var $pkg={},$init,A,B,C,D,E,F,G,H,L,M,U,X,AH,AO,AP,AQ,AR,AS,AT,AU,AV,I,J,N,O,Q,R,T,V,W,Y,Z,AA,AC,AD,AE,AF,AG,AI,AJ,AK,AL,AM,AN;A=$packages["errors"];B=$packages["fmt"];C=$packages["sort"];D=$packages["strconv"];E=$packages["strings"];F=$pkg.Error=$newType(0,$kindStruct,"url.Error",true,"net/url",true,function(Op_,URL_,Err_){this.$val=this;if(arguments.length===0){this.Op="";this.URL="";this.Err=$ifaceNil;return;}this.Op=Op_;this.URL=URL_;this.Err=Err_;});G=$pkg.timeout=$newType(8,$kindInterface,"url.timeout",true,"net/url",false,null);H=$pkg.temporary=$newType(8,$kindInterface,"url.temporary",true,"net/url",false,null);L=$pkg.EscapeError=$newType(8,$kindString,"url.EscapeError",true,"net/url",true,null);M=$pkg.InvalidHostError=$newType(8,$kindString,"url.InvalidHostError",true,"net/url",true,null);U=$pkg.URL=$newType(0,$kindStruct,"url.URL",true,"net/url",true,function(Scheme_,Opaque_,User_,Host_,Path_,RawPath_,ForceQuery_,RawQuery_,Fragment_){this.$val=this;if(arguments.length===0){this.Scheme="";this.Opaque="";this.User=AQ.nil;this.Host="";this.Path="";this.RawPath="";this.ForceQuery=false;this.RawQuery="";this.Fragment="";return;}this.Scheme=Scheme_;this.Opaque=Opaque_;this.User=User_;this.Host=Host_;this.Path=Path_;this.RawPath=RawPath_;this.ForceQuery=ForceQuery_;this.RawQuery=RawQuery_;this.Fragment=Fragment_;});X=$pkg.Userinfo=$newType(0,$kindStruct,"url.Userinfo",true,"net/url",true,function(username_,password_,passwordSet_){this.$val=this;if(arguments.length===0){this.username="";this.password="";this.passwordSet=false;return;}this.username=username_;this.password=password_;this.passwordSet=passwordSet_;});AH=$pkg.Values=$newType(4,$kindMap,"url.Values",true,"net/url",true,null);AO=$sliceType($Uint8);AP=$arrayType($Uint8,64);AQ=$ptrType(X);AR=$ptrType(U);AS=$sliceType($emptyInterface);AT=$ptrType(E.Builder);AU=$sliceType($String);AV=$ptrType(F);F.ptr.prototype.Error=function(){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Err.Error();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return a.Op+" "+a.URL+": "+b;}return;}if($f===undefined){$f={$blk:F.ptr.prototype.Error};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};F.prototype.Error=function(){return this.$val.Error();};F.ptr.prototype.Timeout=function(){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=$assertType(a.Err,G,true);c=b[0];d=b[1];if(!(d)){e=false;$s=1;continue s;}f=c.Timeout();$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;case 1:$s=-1;return e;}return;}if($f===undefined){$f={$blk:F.ptr.prototype.Timeout};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};F.prototype.Timeout=function(){return this.$val.Timeout();};F.ptr.prototype.Temporary=function(){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=$assertType(a.Err,H,true);c=b[0];d=b[1];if(!(d)){e=false;$s=1;continue s;}f=c.Temporary();$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;case 1:$s=-1;return e;}return;}if($f===undefined){$f={$blk:F.ptr.prototype.Temporary};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};F.prototype.Temporary=function(){return this.$val.Temporary();};I=function(a){var a;if(48<=a&&a<=57){return true;}else if(97<=a&&a<=102){return true;}else if(65<=a&&a<=70){return true;}return false;};J=function(a){var a;if(48<=a&&a<=57){return a-48<<24>>>24;}else if(97<=a&&a<=102){return(a-97<<24>>>24)+10<<24>>>24;}else if(65<=a&&a<=70){return(a-65<<24>>>24)+10<<24>>>24;}return 0;};L.prototype.Error=function(){var a;a=this.$val;return"invalid URL escape "+D.Quote((a));};$ptrType(L).prototype.Error=function(){return new L(this.$get()).Error();};M.prototype.Error=function(){var a;a=this.$val;return"invalid character "+D.Quote((a))+" in host name";};$ptrType(M).prototype.Error=function(){return new M(this.$get()).Error();};N=function(a,b){var a,b,c,d,e,f;if(65<=a&&a<=90||97<=a&&a<=122||48<=a&&a<=57){return false;}if((b===3)||(b===4)){c=a;if((c===(33))||(c===(36))||(c===(38))||(c===(39))||(c===(40))||(c===(41))||(c===(42))||(c===(43))||(c===(44))||(c===(59))||(c===(61))||(c===(58))||(c===(91))||(c===(93))||(c===(60))||(c===(62))||(c===(34))){return false;}}d=a;if((d===(45))||(d===(95))||(d===(46))||(d===(126))){return false;}else if((d===(36))||(d===(38))||(d===(43))||(d===(44))||(d===(47))||(d===(58))||(d===(59))||(d===(61))||(d===(63))||(d===(64))){e=b;if(e===(1)){return a===63;}else if(e===(2)){return(a===47)||(a===59)||(a===44)||(a===63);}else if(e===(5)){return(a===64)||(a===47)||(a===63)||(a===58);}else if(e===(6)){return true;}else if(e===(7)){return false;}}if(b===7){f=a;if((f===(33))||(f===(40))||(f===(41))||(f===(42))){return false;}}return true;};O=function(a){var a;return Q(a,6);};$pkg.QueryUnescape=O;Q=function(a,b){var a,b,c,d,e,f,g,h,i,j,k;c=0;d=false;e=0;while(true){if(!(e>0;if((e+2>>0)>=a.length||!I(a.charCodeAt((e+1>>0)))||!I(a.charCodeAt((e+2>>0)))){a=$substring(a,e);if(a.length>3){a=$substring(a,0,3);}return["",new L((a))];}if((b===3)&&J(a.charCodeAt((e+1>>0)))<8&&!($substring(a,e,(e+3>>0))==="%25")){return["",new L(($substring(a,e,(e+3>>0))))];}if(b===4){g=((J(a.charCodeAt((e+1>>0)))<<4<<24>>>24)|J(a.charCodeAt((e+2>>0))))>>>0;if(!($substring(a,e,(e+3>>0))==="%25")&&!((g===32))&&N(g,3)){return["",new L(($substring(a,e,(e+3>>0))))];}}e=e+(3)>>0;}else if(f===(43)){d=b===6;e=e+(1)>>0;}else{if(((b===3)||(b===4))&&a.charCodeAt(e)<128&&N(a.charCodeAt(e),b)){return["",new M(($substring(a,e,(e+1>>0))))];}e=e+(1)>>0;}}if((c===0)&&!d){return[a,$ifaceNil];}h=$makeSlice(AO,(a.length-($imul(2,c))>>0));i=0;j=0;while(true){if(!(j=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]=(((J(a.charCodeAt((j+1>>0)))<<4<<24>>>24)|J(a.charCodeAt((j+2>>0))))>>>0));i=i+(1)>>0;j=j+(3)>>0;}else if(k===(43)){if(b===6){((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]=32);}else{((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]=43);}i=i+(1)>>0;j=j+(1)>>0;}else{((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]=a.charCodeAt(j));i=i+(1)>>0;j=j+(1)>>0;}}return[($bytesToString(h)),$ifaceNil];};R=function(a){var a;return T(a,6);};$pkg.QueryEscape=R;T=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;c=0;d=0;e=c;f=d;g=0;while(true){if(!(g>0;}else{f=f+(1)>>0;}}g=g+(1)>>0;}if((e===0)&&(f===0)){return a;}i=AP.zero();j=AO.nil;k=a.length+($imul(2,f))>>0;if(k<=64){j=$subslice(new AO(i),0,k);}else{j=$makeSlice(AO,k);}if(f===0){$copyString(j,a);l=0;while(true){if(!(l=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+l]=43);}l=l+(1)>>0;}return($bytesToString(j));}m=0;n=0;while(true){if(!(n=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+m]=43);m=m+(1)>>0;}else if(N(o,b)){((m<0||m>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+m]=37);(p=m+1>>0,((p<0||p>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+p]="0123456789ABCDEF".charCodeAt((o>>>4<<24>>>24))));(q=m+2>>0,((q<0||q>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+q]="0123456789ABCDEF".charCodeAt(((o&15)>>>0))));m=m+(3)>>0;}else{((m<0||m>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+m]=a.charCodeAt(n));m=m+(1)>>0;}n=n+(1)>>0;}return($bytesToString(j));};V=function(a){var a;return new X.ptr(a,"",false);};$pkg.User=V;W=function(a,b){var a,b;return new X.ptr(a,b,true);};$pkg.UserPassword=W;X.ptr.prototype.Username=function(){var a;a=this;if(a===AQ.nil){return"";}return a.username;};X.prototype.Username=function(){return this.$val.Username();};X.ptr.prototype.Password=function(){var a;a=this;if(a===AQ.nil){return["",false];}return[a.password,a.passwordSet];};X.prototype.Password=function(){return this.$val.Password();};X.ptr.prototype.String=function(){var a,b;a=this;if(a===AQ.nil){return"";}b=T(a.username,5);if(a.passwordSet){b=b+(":"+T(a.password,5));}return b;};X.prototype.String=function(){return this.$val.String();};Y=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;b="";c="";d=$ifaceNil;e=0;while(true){if(!(e>0));o=$ifaceNil;b=m;c=n;d=o;return[b,c,d];}else{p="";q=a;r=$ifaceNil;b=p;c=q;d=r;return[b,c,d];}e=e+(1)>>0;}s="";t=a;u=$ifaceNil;b=s;c=t;d=u;return[b,c,d];};Z=function(a,b,c){var a,b,c,d;d=E.Index(a,b);if(d<0){return[a,""];}if(c){return[$substring(a,0,d),$substring(a,(d+b.length>>0))];}return[$substring(a,0,d),$substring(a,d)];};AA=function(a){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=Z(a,"#",true);c=b[0];d=b[1];f=AC(c,false);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[AR.nil,new F.ptr("parse",c,h)];}if(d===""){$s=-1;return[g,$ifaceNil];}i=Q(d,7);g.Fragment=i[0];h=i[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[AR.nil,new F.ptr("parse",a,h)];}$s=-1;return[g,$ifaceNil];}return;}if($f===undefined){$f={$blk:AA};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Parse=AA;AC=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c="";d=$ifaceNil;if(AN(a)){$s=-1;return[AR.nil,A.New("net/url: invalid control character in URL")];}if(a===""&&b){$s=-1;return[AR.nil,A.New("empty url")];}e=new U.ptr("","",AQ.nil,"","","",false,"","");if(a==="*"){e.Path="*";$s=-1;return[e,$ifaceNil];}f=Y(a);e.Scheme=f[0];c=f[1];d=f[2];if(!($interfaceIsEqual(d,$ifaceNil))){$s=-1;return[AR.nil,d];}g=E.ToLower(e.Scheme);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e.Scheme=g;if(E.HasSuffix(c,"?")&&(E.Count(c,"?")===1)){e.ForceQuery=true;c=$substring(c,0,(c.length-1>>0));}else{h=Z(c,"?",true);c=h[0];e.RawQuery=h[1];}if(!E.HasPrefix(c,"/")){if(!(e.Scheme==="")){e.Opaque=c;$s=-1;return[e,$ifaceNil];}if(b){$s=-1;return[AR.nil,A.New("invalid URI for request")];}i=E.Index(c,":");j=E.Index(c,"/");if(i>=0&&(j<0||i>0)));$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;c=h[0];d=h[1];case 3:if(!($interfaceIsEqual(d,$ifaceNil))){j=AQ.nil;k="";l=d;b=j;c=k;d=l;$s=-1;return[b,c,d];}if(e<0){m=AQ.nil;n=c;o=$ifaceNil;b=m;c=n;d=o;$s=-1;return[b,c,d];}p=$substring(a,0,e);if(!AM(p)){q=AQ.nil;r="";s=A.New("net/url: invalid userinfo");b=q;c=r;d=s;$s=-1;return[b,c,d];}if(!E.Contains(p,":")){t=Q(p,5);p=t[0];d=t[1];if(!($interfaceIsEqual(d,$ifaceNil))){u=AQ.nil;v="";w=d;b=u;c=v;d=w;$s=-1;return[b,c,d];}b=V(p);}else{x=Z(p,":",true);y=x[0];z=x[1];aa=Q(y,5);y=aa[0];d=aa[1];if(!($interfaceIsEqual(d,$ifaceNil))){ab=AQ.nil;ac="";ad=d;b=ab;c=ac;d=ad;$s=-1;return[b,c,d];}ae=Q(z,5);z=ae[0];d=ae[1];if(!($interfaceIsEqual(d,$ifaceNil))){af=AQ.nil;ag="";ah=d;b=af;c=ag;d=ah;$s=-1;return[b,c,d];}b=W(y,z);}ai=b;aj=c;ak=$ifaceNil;b=ai;c=aj;d=ak;$s=-1;return[b,c,d];}return;}if($f===undefined){$f={$blk:AD};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AE=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(E.HasPrefix(a,"[")){$s=1;continue;}$s=2;continue;case 1:b=E.LastIndex(a,"]");if(b<0){$s=-1;return["",A.New("missing ']' in host")];}c=$substring(a,(b+1>>0));if(!AG(c)){$s=4;continue;}$s=5;continue;case 4:d=B.Errorf("invalid port %q after host",new AS([new $String(c)]));$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return["",d];case 5:e=E.Index($substring(a,0,b),"%25");if(e>=0){f=Q($substring(a,0,e),3);g=f[0];h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return["",h];}i=Q($substring(a,e,b),4);j=i[0];h=i[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return["",h];}k=Q($substring(a,b),3);l=k[0];h=k[1];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return["",h];}$s=-1;return[g+j+l,$ifaceNil];}$s=3;continue;case 2:m=E.LastIndex(a,":");if(!((m===-1))){$s=7;continue;}$s=8;continue;case 7:n=$substring(a,m);if(!AG(n)){$s=9;continue;}$s=10;continue;case 9:o=B.Errorf("invalid port %q after host",new AS([new $String(n)]));$s=11;case 11:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}$s=-1;return["",o];case 10:case 8:case 3:p=$ifaceNil;q=Q(a,3);a=q[0];p=q[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=-1;return["",p];}$s=-1;return[a,$ifaceNil];}return;}if($f===undefined){$f={$blk:AE};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};U.ptr.prototype.setPath=function(a){var a,b,c,d,e,f;b=this;c=Q(a,1);d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return e;}b.Path=d;f=T(d,1);if(a===f){b.RawPath="";}else{b.RawPath=a;}return $ifaceNil;};U.prototype.setPath=function(a){return this.$val.setPath(a);};U.ptr.prototype.EscapedPath=function(){var a,b,c,d;a=this;if(!(a.RawPath==="")&&AF(a.RawPath)){b=Q(a.RawPath,1);c=b[0];d=b[1];if($interfaceIsEqual(d,$ifaceNil)&&c===a.Path){return a.RawPath;}}if(a.Path==="*"){return"*";}return T(a.Path,1);};U.prototype.EscapedPath=function(){return this.$val.EscapedPath();};AF=function(a){var a,b,c;b=0;while(true){if(!(b>0;}return true;};AG=function(a){var a,b,c,d,e;if(a===""){return true;}if(!((a.charCodeAt(0)===58))){return false;}b=$substring(a,1);c=0;while(true){if(!(c57){return false;}c+=d[1];}return true;};U.ptr.prototype.String=function(){var a,b,c,d,e,f;a=this;b=new E.Builder.ptr(AT.nil,AO.nil);if(!(a.Scheme==="")){b.WriteString(a.Scheme);b.WriteByte(58);}if(!(a.Opaque==="")){b.WriteString(a.Opaque);}else{if(!(a.Scheme==="")||!(a.Host==="")||!(a.User===AQ.nil)){if(!(a.Host==="")||!(a.Path==="")||!(a.User===AQ.nil)){b.WriteString("//");}c=a.User;if(!(c===AQ.nil)){b.WriteString(c.String());b.WriteByte(64);}d=a.Host;if(!(d==="")){b.WriteString(T(d,3));}}e=a.EscapedPath();if(!(e==="")&&!((e.charCodeAt(0)===47))&&!(a.Host==="")){b.WriteByte(47);}if(b.Len()===0){f=E.IndexByte(e,58);if(f>-1&&(E.IndexByte($substring(e,0,f),47)===-1)){b.WriteString("./");}}b.WriteString(e);}if(a.ForceQuery||!(a.RawQuery==="")){b.WriteByte(63);b.WriteString(a.RawQuery);}if(!(a.Fragment==="")){b.WriteByte(35);b.WriteString(T(a.Fragment,7));}return b.String();};U.prototype.String=function(){return this.$val.String();};AH.prototype.Get=function(a){var a,b,c,d;b=this.$val;if(b===false){return"";}d=(c=b[$String.keyFor(a)],c!==undefined?c.v:AU.nil);if(d.$length===0){return"";}return(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]);};$ptrType(AH).prototype.Get=function(a){return new AH(this.$get()).Get(a);};AH.prototype.Set=function(a,b){var a,b,c,d;c=this.$val;d=a;(c||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(d)]={k:d,v:new AU([b])};};$ptrType(AH).prototype.Set=function(a,b){return new AH(this.$get()).Set(a,b);};AH.prototype.Add=function(a,b){var a,b,c,d,e;c=this.$val;d=a;(c||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(d)]={k:d,v:$append((e=c[$String.keyFor(a)],e!==undefined?e.v:AU.nil),b)};};$ptrType(AH).prototype.Add=function(a,b){return new AH(this.$get()).Add(a,b);};AH.prototype.Del=function(a){var a,b;b=this.$val;delete b[$String.keyFor(a)];};$ptrType(AH).prototype.Del=function(a){return new AH(this.$get()).Del(a);};AI=function(a){var a,b,c;b={};c=AJ(b,a);return[b,c];};$pkg.ParseQuery=AI;AJ=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;c=$ifaceNil;while(true){if(!(!(b===""))){break;}d=b;e=E.IndexAny(d,"&;");if(e>=0){f=$substring(d,0,e);g=$substring(d,(e+1>>0));d=f;b=g;}else{b="";}if(d===""){continue;}h="";i=E.Index(d,"=");if(i>=0){j=$substring(d,0,i);k=$substring(d,(i+1>>0));d=j;h=k;}l=O(d);d=l[0];m=l[1];if(!($interfaceIsEqual(m,$ifaceNil))){if($interfaceIsEqual(c,$ifaceNil)){c=m;}continue;}n=O(h);h=n[0];m=n[1];if(!($interfaceIsEqual(m,$ifaceNil))){if($interfaceIsEqual(c,$ifaceNil)){c=m;}continue;}o=d;(a||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(o)]={k:o,v:$append((p=a[$String.keyFor(d)],p!==undefined?p.v:AU.nil),h)};}c=c;return c;};AH.prototype.Encode=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this.$val;if(a===false){$s=-1;return"";}b=new E.Builder.ptr(AT.nil,AO.nil);c=$makeSlice(AU,0,$keys(a).length);d=a;e=0;f=$keys(d);while(true){if(!(e=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);m=(l=a[$String.keyFor(k)],l!==undefined?l.v:AU.nil);n=R(k);o=m;p=0;while(true){if(!(p=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]);if(b.Len()>0){b.WriteByte(38);}b.WriteString(n);b.WriteByte(61);b.WriteString(R(q));p++;}j++;}$s=-1;return b.String();}return;}if($f===undefined){$f={$blk:AH.prototype.Encode};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(AH).prototype.Encode=function(){return new AH(this.$get()).Encode();};AK=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l;c="";if(b===""){c=a;}else if(!((b.charCodeAt(0)===47))){d=E.LastIndex(a,"/");c=$substring(a,0,(d+1>>0))+b;}else{c=b;}if(c===""){return"";}e=AU.nil;f=E.Split(c,"/");g=f;h=0;while(true){if(!(h=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);j=i;if(j===(".")){}else if(j===("..")){if(e.$length>0){e=$subslice(e,0,(e.$length-1>>0));}}else{e=$append(e,i);}h++;}l=(k=f.$length-1>>0,((k<0||k>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+k]));if(l==="."||l===".."){e=$append(e,"");}return"/"+E.TrimPrefix(E.Join(e,"/"),"/");};U.ptr.prototype.IsAbs=function(){var a;a=this;return!(a.Scheme==="");};U.prototype.IsAbs=function(){return this.$val.IsAbs();};U.ptr.prototype.Parse=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=AA(a);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[AR.nil,f];}$s=-1;return[b.ResolveReference(e),$ifaceNil];}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Parse};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Parse=function(a){return this.$val.Parse(a);};U.ptr.prototype.ResolveReference=function(a){var a,b,c;b=this;c=$clone(a,U);if(a.Scheme===""){c.Scheme=b.Scheme;}if(!(a.Scheme==="")||!(a.Host==="")||!(a.User===AQ.nil)){c.setPath(AK(a.EscapedPath(),""));return c;}if(!(a.Opaque==="")){c.User=AQ.nil;c.Host="";c.Path="";return c;}if(a.Path===""&&a.RawQuery===""){c.RawQuery=b.RawQuery;if(a.Fragment===""){c.Fragment=b.Fragment;}}c.Host=b.Host;c.User=b.User;c.setPath(AK(b.EscapedPath(),a.EscapedPath()));return c;};U.prototype.ResolveReference=function(a){return this.$val.ResolveReference(a);};U.ptr.prototype.Query=function(){var a,b,c;a=this;b=AI(a.RawQuery);c=b[0];return c;};U.prototype.Query=function(){return this.$val.Query();};U.ptr.prototype.RequestURI=function(){var a,b;a=this;b=a.Opaque;if(b===""){b=a.EscapedPath();if(b===""){b="/";}}else{if(E.HasPrefix(b,"//")){b=a.Scheme+":"+b;}}if(a.ForceQuery||!(a.RawQuery==="")){b=b+("?"+a.RawQuery);}return b;};U.prototype.RequestURI=function(){return this.$val.RequestURI();};U.ptr.prototype.Hostname=function(){var a,b,c;a=this;b=AL(a.Host);c=b[0];return c;};U.prototype.Hostname=function(){return this.$val.Hostname();};U.ptr.prototype.Port=function(){var a,b,c;a=this;b=AL(a.Host);c=b[1];return c;};U.prototype.Port=function(){return this.$val.Port();};AL=function(a){var a,b,c,d,e,f;b="";c="";b=a;d=E.LastIndexByte(b,58);if(!((d===-1))&&AG($substring(b,d))){e=$substring(b,0,d);f=$substring(b,(d+1>>0));b=e;c=f;}if(E.HasPrefix(b,"[")&&E.HasSuffix(b,"]")){b=$substring(b,1,(b.length-1>>0));}return[b,c];};U.ptr.prototype.MarshalBinary=function(){var a,b,c,d,e;a=AO.nil;b=$ifaceNil;c=this;d=(new AO($stringToBytes(c.String())));e=$ifaceNil;a=d;b=e;return[a,b];};U.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};U.ptr.prototype.UnmarshalBinary=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=AA(($bytesToString(a)));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return f;}U.copy(b,e);$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.UnmarshalBinary};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.UnmarshalBinary=function(a){return this.$val.UnmarshalBinary(a);};AM=function(a){var a,b,c,d,e,f;b=a;c=0;while(true){if(!(c>0;}return false;};AV.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)}];L.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];M.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];AR.methods=[{prop:"setPath",name:"setPath",pkg:"net/url",typ:$funcType([$String],[$error],false)},{prop:"EscapedPath",name:"EscapedPath",pkg:"",typ:$funcType([],[$String],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"IsAbs",name:"IsAbs",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Parse",name:"Parse",pkg:"",typ:$funcType([$String],[AR,$error],false)},{prop:"ResolveReference",name:"ResolveReference",pkg:"",typ:$funcType([AR],[AR],false)},{prop:"Query",name:"Query",pkg:"",typ:$funcType([],[AH],false)},{prop:"RequestURI",name:"RequestURI",pkg:"",typ:$funcType([],[$String],false)},{prop:"Hostname",name:"Hostname",pkg:"",typ:$funcType([],[$String],false)},{prop:"Port",name:"Port",pkg:"",typ:$funcType([],[$String],false)},{prop:"MarshalBinary",name:"MarshalBinary",pkg:"",typ:$funcType([],[AO,$error],false)},{prop:"UnmarshalBinary",name:"UnmarshalBinary",pkg:"",typ:$funcType([AO],[$error],false)}];AQ.methods=[{prop:"Username",name:"Username",pkg:"",typ:$funcType([],[$String],false)},{prop:"Password",name:"Password",pkg:"",typ:$funcType([],[$String,$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];AH.methods=[{prop:"Get",name:"Get",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([$String,$String],[],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([$String,$String],[],false)},{prop:"Del",name:"Del",pkg:"",typ:$funcType([$String],[],false)},{prop:"Encode",name:"Encode",pkg:"",typ:$funcType([],[$String],false)}];F.init("",[{prop:"Op",name:"Op",embedded:false,exported:true,typ:$String,tag:""},{prop:"URL",name:"URL",embedded:false,exported:true,typ:$String,tag:""},{prop:"Err",name:"Err",embedded:false,exported:true,typ:$error,tag:""}]);G.init([{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)}]);H.init([{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)}]);U.init("",[{prop:"Scheme",name:"Scheme",embedded:false,exported:true,typ:$String,tag:""},{prop:"Opaque",name:"Opaque",embedded:false,exported:true,typ:$String,tag:""},{prop:"User",name:"User",embedded:false,exported:true,typ:AQ,tag:""},{prop:"Host",name:"Host",embedded:false,exported:true,typ:$String,tag:""},{prop:"Path",name:"Path",embedded:false,exported:true,typ:$String,tag:""},{prop:"RawPath",name:"RawPath",embedded:false,exported:true,typ:$String,tag:""},{prop:"ForceQuery",name:"ForceQuery",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"RawQuery",name:"RawQuery",embedded:false,exported:true,typ:$String,tag:""},{prop:"Fragment",name:"Fragment",embedded:false,exported:true,typ:$String,tag:""}]);X.init("net/url",[{prop:"username",name:"username",embedded:false,exported:false,typ:$String,tag:""},{prop:"password",name:"password",embedded:false,exported:false,typ:$String,tag:""},{prop:"passwordSet",name:"passwordSet",embedded:false,exported:false,typ:$Bool,tag:""}]);AH.init($String,AU);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})(); -$packages["github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket"]=(function(){var $pkg={},$init,B,C,G,H,D,E,A,F,I,K,M,P,Q,S,T,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,N,J,L,O,R;B=$packages["bytes"];C=$packages["fmt"];G=$packages["github.com/gopherjs/gopherjs/js"];H=$packages["github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket/websocketjs"];D=$packages["io"];E=$packages["net"];A=$packages["net/url"];F=$packages["time"];I=$pkg.addr=$newType(0,$kindStruct,"websocket.addr",true,"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",false,function(URL_){this.$val=this;if(arguments.length===0){this.URL=Y.nil;return;}this.URL=URL_;});K=$pkg.closeError=$newType(0,$kindStruct,"websocket.closeError",true,"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",false,function(Object_,Code_,Reason_,WasClean_){this.$val=this;if(arguments.length===0){this.Object=null;this.Code=0;this.Reason="";this.WasClean=false;return;}this.Object=Object_;this.Code=Code_;this.Reason=Reason_;this.WasClean=WasClean_;});M=$pkg.deadlineErr=$newType(0,$kindStruct,"websocket.deadlineErr",true,"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",false,function(){this.$val=this;if(arguments.length===0){return;}});P=$pkg.conn=$newType(0,$kindStruct,"websocket.conn",true,"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",false,function(WebSocket_,ch_,readBuf_,readDeadline_){this.$val=this;if(arguments.length===0){this.WebSocket=T.nil;this.ch=$chanNil;this.readBuf=U.nil;this.readDeadline=new F.Time.ptr(new $Uint64(0,0),new $Int64(0,0),V.nil);return;}this.WebSocket=WebSocket_;this.ch=ch_;this.readBuf=readBuf_;this.readDeadline=readDeadline_;});Q=$pkg.messageEvent=$newType(0,$kindStruct,"websocket.messageEvent",true,"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",false,function(Object_,Data_){this.$val=this;if(arguments.length===0){this.Object=null;this.Data=null;return;}this.Object=Object_;this.Data=Data_;});S=$sliceType($emptyInterface);T=$ptrType(H.WebSocket);U=$ptrType(B.Reader);V=$ptrType(F.Location);W=$ptrType(Q);X=$sliceType($Uint8);Y=$ptrType(A.URL);Z=$ptrType(I);AA=$ptrType(K);AB=$ptrType(G.Object);AC=$ptrType(M);AD=$ptrType(P);AE=$chanType(W,false,false);I.ptr.prototype.Network=function(){var a;a=this;return"websocket";};I.prototype.Network=function(){return this.$val.Network();};J=function(a,b){var a,b;return(function $b(c){var c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=b();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$close(a);$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.c=c;$f.$s=$s;$f.$r=$r;return $f;});};K.ptr.prototype.Error=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b="";if(!!(a.Object.wasClean)){b="clean";}else{b="unclean";}c=C.Sprintf("CloseEvent: (%s) (%d) %s",new S([new $String(b),new $Int(($parseInt(a.Object.code)>>0)),new $String($internalize(a.Object.reason,$String))]));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Error};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Error=function(){return this.$val.Error();};L=function(a,b){var a,b;return(function $b(c){var c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];$r=b();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$go((function(c){return function $b(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=$send(a,new K.ptr(c[0],0,"",false));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$close(a);$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.$s=$s;$f.$r=$r;return $f;};})(c),[]);$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.c=c;$f.$s=$s;$f.$r=$r;return $f;});};M.ptr.prototype.Error=function(){var a;a=this;return"i/o timeout: deadline reached";};M.prototype.Error=function(){return this.$val.Error();};M.ptr.prototype.Timeout=function(){var a;a=this;return true;};M.prototype.Timeout=function(){return this.$val.Timeout();};M.ptr.prototype.Temporary=function(){var a;a=this;return true;};M.prototype.Temporary=function(){return this.$val.Temporary();};O=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=[c];d=[d];e=H.New(a);d[0]=e[0];f=e[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[$ifaceNil,f];}g=new P.ptr(d[0],new $Chan(W,1),U.nil,new F.Time.ptr(new $Uint64(0,0),new $Int64(0,0),V.nil));g.initialize();h=new $Chan($error,1);c[0]=$throwNilPointerError;b[0]=$throwNilPointerError;i=(function(b,c,d){return function(){d[0].RemoveEventListener("open",false,c[0]);d[0].RemoveEventListener("close",false,b[0]);};})(b,c,d);c[0]=J(h,i);b[0]=L(h,i);d[0].AddEventListener("open",false,c[0]);d[0].AddEventListener("close",false,b[0]);k=$recv(h);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;f=j[0];l=j[1];if(l&&!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return[$ifaceNil,f];}$s=-1;return[g,$ifaceNil];}return;}if($f===undefined){$f={$blk:O};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Dial=O;P.ptr.prototype.onMessage=function(a){var a,b;b=this;$go((function $b(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=$send(b.ch,new Q.ptr(a,null));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.$s=$s;$f.$r=$r;return $f;}),[]);};P.prototype.onMessage=function(a){return this.$val.onMessage(a);};P.ptr.prototype.onClose=function(a){var a,b;b=this;$go((function $b(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=$send(b.ch,W.nil);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.$s=$s;$f.$r=$r;return $f;}),[]);};P.prototype.onClose=function(a){return this.$val.onClose(a);};P.ptr.prototype.initialize=function(){var a;a=this;a.WebSocket.Object.binaryType=$externalize("arraybuffer",$String);a.WebSocket.AddEventListener("message",false,$methodVal(a,"onMessage"));a.WebSocket.AddEventListener("close",false,$methodVal(a,"onClose"));};P.prototype.initialize=function(){return this.$val.initialize();};P.ptr.prototype.handleFrame=function(a,b){var a,b,c;c=this;if(!b){return[W.nil,D.EOF];}else if(a===W.nil){$close(c.ch);return[W.nil,D.EOF];}return[a,$ifaceNil];};P.prototype.handleFrame=function(a,b){return this.$val.handleFrame(a,b);};P.ptr.prototype.receiveFrame=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;c=$chanNil;if(a&&!$clone(b.readDeadline,F.Time).IsZero()){$s=1;continue;}$s=2;continue;case 1:d=$clone(F.Now(),F.Time);if($clone(d,F.Time).After($clone(b.readDeadline,F.Time))){e=$select([[b.ch],[]]);if(e[0]===0){f=e[1];g=f[0];h=f[1];$s=-1;return b.handleFrame(g,h);}else if(e[0]===1){$s=-1;return[W.nil,N];}}i=F.NewTimer($clone(b.readDeadline,F.Time).Sub($clone(d,F.Time)));$deferred.push([$methodVal(i,"Stop"),[]]);c=i.C;case 2:k=$select([[b.ch],[c]]);$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;if(j[0]===0){l=j[1];m=l[0];n=l[1];$s=-1;return b.handleFrame(m,n);}else if(j[0]===1){$s=-1;return[W.nil,N];}$s=-1;return[W.nil,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[W.nil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:P.ptr.prototype.receiveFrame};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};P.prototype.receiveFrame=function(a){return this.$val.receiveFrame(a);};R=function(a){var a,b,c;b=a.constructor;if(b===$global.ArrayBuffer){c=new($global.Uint8Array)(a);return $assertType($internalize(c,$emptyInterface),X);}return(new X($stringToBytes($internalize(a,$String))));};P.ptr.prototype.Read=function(a){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;if(!(d.readBuf===U.nil)){e=d.readBuf.Read(a);b=e[0];c=e[1];if($interfaceIsEqual(c,D.EOF)){d.readBuf=U.nil;c=$ifaceNil;}if(b>0){$s=-1;return[b,c];}}g=d.receiveFrame(true);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];c=f[1];if(!($interfaceIsEqual(c,$ifaceNil))){i=0;j=c;b=i;c=j;$s=-1;return[b,c];}k=R(h.Object.data);b=$copySlice(a,k);if(b>=k.$length){$s=-1;return[b,c];}d.readBuf=B.NewReader($subslice(k,b));$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.Read};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.Read=function(a){return this.$val.Read(a);};P.ptr.prototype.Write=function(a){var a,b,c,d,e,f,g,h;b=0;c=$ifaceNil;d=this;c=d.WebSocket.Send(a);if(!($interfaceIsEqual(c,$ifaceNil))){e=0;f=c;b=e;c=f;return[b,c];}g=a.$length;h=$ifaceNil;b=g;c=h;return[b,c];};P.prototype.Write=function(a){return this.$val.Write(a);};P.ptr.prototype.LocalAddr=function(){var a;a=this;$panic(new $String("we are unable to implement websocket.conn.LocalAddr() due to limitations in the underlying JavaScript API"));};P.prototype.LocalAddr=function(){return this.$val.LocalAddr();};P.ptr.prototype.RemoteAddr=function(){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=A.Parse($internalize(a.WebSocket.Object.url,$String));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){$panic(e);}$s=-1;return new I.ptr(d);}return;}if($f===undefined){$f={$blk:P.ptr.prototype.RemoteAddr};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.RemoteAddr=function(){return this.$val.RemoteAddr();};P.ptr.prototype.SetDeadline=function(a){var a,b;b=this;F.Time.copy(b.readDeadline,a);return $ifaceNil;};P.prototype.SetDeadline=function(a){return this.$val.SetDeadline(a);};P.ptr.prototype.SetReadDeadline=function(a){var a,b;b=this;F.Time.copy(b.readDeadline,a);return $ifaceNil;};P.prototype.SetReadDeadline=function(a){return this.$val.SetReadDeadline(a);};P.ptr.prototype.SetWriteDeadline=function(a){var a,b;b=this;return $ifaceNil;};P.prototype.SetWriteDeadline=function(a){return this.$val.SetWriteDeadline(a);};Z.methods=[{prop:"Network",name:"Network",pkg:"",typ:$funcType([],[$String],false)}];AA.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];AC.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)}];AD.methods=[{prop:"onMessage",name:"onMessage",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",typ:$funcType([AB],[],false)},{prop:"onClose",name:"onClose",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",typ:$funcType([AB],[],false)},{prop:"initialize",name:"initialize",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",typ:$funcType([],[],false)},{prop:"handleFrame",name:"handleFrame",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",typ:$funcType([W,$Bool],[W,$error],false)},{prop:"receiveFrame",name:"receiveFrame",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",typ:$funcType([$Bool],[W,$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([X],[$Int,$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([X],[$Int,$error],false)},{prop:"LocalAddr",name:"LocalAddr",pkg:"",typ:$funcType([],[E.Addr],false)},{prop:"RemoteAddr",name:"RemoteAddr",pkg:"",typ:$funcType([],[E.Addr],false)},{prop:"SetDeadline",name:"SetDeadline",pkg:"",typ:$funcType([F.Time],[$error],false)},{prop:"SetReadDeadline",name:"SetReadDeadline",pkg:"",typ:$funcType([F.Time],[$error],false)},{prop:"SetWriteDeadline",name:"SetWriteDeadline",pkg:"",typ:$funcType([F.Time],[$error],false)}];I.init("",[{prop:"URL",name:"URL",embedded:true,exported:true,typ:Y,tag:""}]);K.init("",[{prop:"Object",name:"Object",embedded:true,exported:true,typ:AB,tag:""},{prop:"Code",name:"Code",embedded:false,exported:true,typ:$Int,tag:"js:\"code\""},{prop:"Reason",name:"Reason",embedded:false,exported:true,typ:$String,tag:"js:\"reason\""},{prop:"WasClean",name:"WasClean",embedded:false,exported:true,typ:$Bool,tag:"js:\"wasClean\""}]);M.init("",[]);P.init("github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",[{prop:"WebSocket",name:"WebSocket",embedded:true,exported:true,typ:T,tag:""},{prop:"ch",name:"ch",embedded:false,exported:false,typ:AE,tag:""},{prop:"readBuf",name:"readBuf",embedded:false,exported:false,typ:U,tag:""},{prop:"readDeadline",name:"readDeadline",embedded:false,exported:false,typ:F.Time,tag:""}]);Q.init("",[{prop:"Object",name:"Object",embedded:true,exported:true,typ:AB,tag:""},{prop:"Data",name:"Data",embedded:false,exported:true,typ:AB,tag:"js:\"data\""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}N=new M.ptr();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})(); +$packages["github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket"]=(function(){var $pkg={},$init,B,C,G,H,D,E,A,F,I,K,M,R,S,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AF,AG,N,J,L,O,P,Q,T;B=$packages["bytes"];C=$packages["fmt"];G=$packages["github.com/gopherjs/gopherjs/js"];H=$packages["github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket/websocketjs"];D=$packages["io"];E=$packages["net"];A=$packages["net/url"];F=$packages["time"];I=$pkg.addr=$newType(0,$kindStruct,"websocket.addr",true,"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",false,function(URL_){this.$val=this;if(arguments.length===0){this.URL=AA.nil;return;}this.URL=URL_;});K=$pkg.closeError=$newType(0,$kindStruct,"websocket.closeError",true,"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",false,function(Object_,Code_,Reason_,WasClean_){this.$val=this;if(arguments.length===0){this.Object=null;this.Code=0;this.Reason="";this.WasClean=false;return;}this.Object=Object_;this.Code=Code_;this.Reason=Reason_;this.WasClean=WasClean_;});M=$pkg.deadlineErr=$newType(0,$kindStruct,"websocket.deadlineErr",true,"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",false,function(){this.$val=this;if(arguments.length===0){return;}});R=$pkg.conn=$newType(0,$kindStruct,"websocket.conn",true,"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",false,function(WebSocket_,ch_,readBuf_,readDeadline_){this.$val=this;if(arguments.length===0){this.WebSocket=V.nil;this.ch=$chanNil;this.readBuf=W.nil;this.readDeadline=new F.Time.ptr(new $Uint64(0,0),new $Int64(0,0),X.nil);return;}this.WebSocket=WebSocket_;this.ch=ch_;this.readBuf=readBuf_;this.readDeadline=readDeadline_;});S=$pkg.messageEvent=$newType(0,$kindStruct,"websocket.messageEvent",true,"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",false,function(Object_,Data_){this.$val=this;if(arguments.length===0){this.Object=null;this.Data=null;return;}this.Object=Object_;this.Data=Data_;});U=$sliceType($emptyInterface);V=$ptrType(H.WebSocket);W=$ptrType(B.Reader);X=$ptrType(F.Location);Y=$ptrType(S);Z=$sliceType($Uint8);AA=$ptrType(A.URL);AB=$ptrType(I);AC=$ptrType(K);AD=$ptrType(G.Object);AE=$ptrType(M);AF=$ptrType(R);AG=$chanType(Y,false,false);I.ptr.prototype.Network=function(){var a;a=this;return"websocket";};I.prototype.Network=function(){return this.$val.Network();};J=function(a,b){var a,b;return(function $b(c){var c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=b();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$close(a);$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.c=c;$f.$s=$s;$f.$r=$r;return $f;});};K.ptr.prototype.Error=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b="";if(!!(a.Object.wasClean)){b="clean";}else{b="unclean";}c=C.Sprintf("CloseEvent: (%s) (%d) %s",new U([new $String(b),new $Int(($parseInt(a.Object.code)>>0)),new $String($internalize(a.Object.reason,$String))]));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:K.ptr.prototype.Error};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Error=function(){return this.$val.Error();};L=function(a,b){var a,b;return(function $b(c){var c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];$r=b();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$go((function(c){return function $b(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=$send(a,new K.ptr(c[0],0,"",false));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$close(a);$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.$s=$s;$f.$r=$r;return $f;};})(c),[]);$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.c=c;$f.$s=$s;$f.$r=$r;return $f;});};M.ptr.prototype.Error=function(){var a;a=this;return"i/o timeout: deadline reached";};M.prototype.Error=function(){return this.$val.Error();};M.ptr.prototype.Timeout=function(){var a;a=this;return true;};M.prototype.Timeout=function(){return this.$val.Timeout();};M.ptr.prototype.Temporary=function(){var a;a=this;return true;};M.prototype.Temporary=function(){return this.$val.Temporary();};O=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=H.New(a);c=b[0];d=b[1];e=Q(d,c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:O};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Dial=O;P=function(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=H.New2(a,b);d=c[0];e=c[1];f=Q(e,d);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:P};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Dial2=P;Q=function(a,b){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=[c];d=[d];if(!($interfaceIsEqual(a,$ifaceNil))){$s=-1;return[$ifaceNil,a];}e=new R.ptr(b[0],new $Chan(Y,1),W.nil,new F.Time.ptr(new $Uint64(0,0),new $Int64(0,0),X.nil));e.initialize();f=new $Chan($error,1);d[0]=$throwNilPointerError;c[0]=$throwNilPointerError;g=(function(b,c,d){return function(){b[0].RemoveEventListener("open",false,d[0]);b[0].RemoveEventListener("close",false,c[0]);};})(b,c,d);d[0]=J(f,g);c[0]=L(f,g);b[0].AddEventListener("open",false,d[0]);b[0].AddEventListener("close",false,c[0]);i=$recv(f);$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;a=h[0];j=h[1];if(j&&!($interfaceIsEqual(a,$ifaceNil))){$s=-1;return[$ifaceNil,a];}$s=-1;return[e,$ifaceNil];}return;}if($f===undefined){$f={$blk:Q};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};R.ptr.prototype.onMessage=function(a){var a,b;b=this;$go((function $b(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=$send(b.ch,new S.ptr(a,null));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.$s=$s;$f.$r=$r;return $f;}),[]);};R.prototype.onMessage=function(a){return this.$val.onMessage(a);};R.ptr.prototype.onClose=function(a){var a,b;b=this;$go((function $b(){var $s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=$send(b.ch,Y.nil);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.$s=$s;$f.$r=$r;return $f;}),[]);};R.prototype.onClose=function(a){return this.$val.onClose(a);};R.ptr.prototype.initialize=function(){var a;a=this;a.WebSocket.Object.binaryType=$externalize("arraybuffer",$String);a.WebSocket.AddEventListener("message",false,$methodVal(a,"onMessage"));a.WebSocket.AddEventListener("close",false,$methodVal(a,"onClose"));};R.prototype.initialize=function(){return this.$val.initialize();};R.ptr.prototype.handleFrame=function(a,b){var a,b,c;c=this;if(!b){return[Y.nil,D.EOF];}else if(a===Y.nil){$close(c.ch);return[Y.nil,D.EOF];}return[a,$ifaceNil];};R.prototype.handleFrame=function(a,b){return this.$val.handleFrame(a,b);};R.ptr.prototype.receiveFrame=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;c=$chanNil;if(a&&!$clone(b.readDeadline,F.Time).IsZero()){$s=1;continue;}$s=2;continue;case 1:d=$clone(F.Now(),F.Time);if($clone(d,F.Time).After($clone(b.readDeadline,F.Time))){e=$select([[b.ch],[]]);if(e[0]===0){f=e[1];g=f[0];h=f[1];$s=-1;return b.handleFrame(g,h);}else if(e[0]===1){$s=-1;return[Y.nil,N];}}i=F.NewTimer($clone(b.readDeadline,F.Time).Sub($clone(d,F.Time)));$deferred.push([$methodVal(i,"Stop"),[]]);c=i.C;case 2:k=$select([[b.ch],[c]]);$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;if(j[0]===0){l=j[1];m=l[0];n=l[1];$s=-1;return b.handleFrame(m,n);}else if(j[0]===1){$s=-1;return[Y.nil,N];}$s=-1;return[Y.nil,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[Y.nil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:R.ptr.prototype.receiveFrame};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};R.prototype.receiveFrame=function(a){return this.$val.receiveFrame(a);};T=function(a){var a,b,c;b=a.constructor;if(b===$global.ArrayBuffer){c=new($global.Uint8Array)(a);return $assertType($internalize(c,$emptyInterface),Z);}return(new Z($stringToBytes($internalize(a,$String))));};R.ptr.prototype.Read=function(a){var a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;if(!(d.readBuf===W.nil)){e=d.readBuf.Read(a);b=e[0];c=e[1];if($interfaceIsEqual(c,D.EOF)){d.readBuf=W.nil;c=$ifaceNil;}if(b>0){$s=-1;return[b,c];}}g=d.receiveFrame(true);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];c=f[1];if(!($interfaceIsEqual(c,$ifaceNil))){i=0;j=c;b=i;c=j;$s=-1;return[b,c];}k=T(h.Object.data);b=$copySlice(a,k);if(b>=k.$length){$s=-1;return[b,c];}d.readBuf=B.NewReader($subslice(k,b));$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:R.ptr.prototype.Read};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};R.prototype.Read=function(a){return this.$val.Read(a);};R.ptr.prototype.Write=function(a){var a,b,c,d,e,f,g,h;b=0;c=$ifaceNil;d=this;c=d.WebSocket.Send(a);if(!($interfaceIsEqual(c,$ifaceNil))){e=0;f=c;b=e;c=f;return[b,c];}g=a.$length;h=$ifaceNil;b=g;c=h;return[b,c];};R.prototype.Write=function(a){return this.$val.Write(a);};R.ptr.prototype.LocalAddr=function(){var a;a=this;$panic(new $String("we are unable to implement websocket.conn.LocalAddr() due to limitations in the underlying JavaScript API"));};R.prototype.LocalAddr=function(){return this.$val.LocalAddr();};R.ptr.prototype.RemoteAddr=function(){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=A.Parse($internalize(a.WebSocket.Object.url,$String));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){$panic(e);}$s=-1;return new I.ptr(d);}return;}if($f===undefined){$f={$blk:R.ptr.prototype.RemoteAddr};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};R.prototype.RemoteAddr=function(){return this.$val.RemoteAddr();};R.ptr.prototype.SetDeadline=function(a){var a,b;b=this;F.Time.copy(b.readDeadline,a);return $ifaceNil;};R.prototype.SetDeadline=function(a){return this.$val.SetDeadline(a);};R.ptr.prototype.SetReadDeadline=function(a){var a,b;b=this;F.Time.copy(b.readDeadline,a);return $ifaceNil;};R.prototype.SetReadDeadline=function(a){return this.$val.SetReadDeadline(a);};R.ptr.prototype.SetWriteDeadline=function(a){var a,b;b=this;return $ifaceNil;};R.prototype.SetWriteDeadline=function(a){return this.$val.SetWriteDeadline(a);};AB.methods=[{prop:"Network",name:"Network",pkg:"",typ:$funcType([],[$String],false)}];AC.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];AE.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)}];AF.methods=[{prop:"onMessage",name:"onMessage",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",typ:$funcType([AD],[],false)},{prop:"onClose",name:"onClose",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",typ:$funcType([AD],[],false)},{prop:"initialize",name:"initialize",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",typ:$funcType([],[],false)},{prop:"handleFrame",name:"handleFrame",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",typ:$funcType([Y,$Bool],[Y,$error],false)},{prop:"receiveFrame",name:"receiveFrame",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",typ:$funcType([$Bool],[Y,$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([Z],[$Int,$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([Z],[$Int,$error],false)},{prop:"LocalAddr",name:"LocalAddr",pkg:"",typ:$funcType([],[E.Addr],false)},{prop:"RemoteAddr",name:"RemoteAddr",pkg:"",typ:$funcType([],[E.Addr],false)},{prop:"SetDeadline",name:"SetDeadline",pkg:"",typ:$funcType([F.Time],[$error],false)},{prop:"SetReadDeadline",name:"SetReadDeadline",pkg:"",typ:$funcType([F.Time],[$error],false)},{prop:"SetWriteDeadline",name:"SetWriteDeadline",pkg:"",typ:$funcType([F.Time],[$error],false)}];I.init("",[{prop:"URL",name:"URL",embedded:true,exported:true,typ:AA,tag:""}]);K.init("",[{prop:"Object",name:"Object",embedded:true,exported:true,typ:AD,tag:""},{prop:"Code",name:"Code",embedded:false,exported:true,typ:$Int,tag:"js:\"code\""},{prop:"Reason",name:"Reason",embedded:false,exported:true,typ:$String,tag:"js:\"reason\""},{prop:"WasClean",name:"WasClean",embedded:false,exported:true,typ:$Bool,tag:"js:\"wasClean\""}]);M.init("",[]);R.init("github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket",[{prop:"WebSocket",name:"WebSocket",embedded:true,exported:true,typ:V,tag:""},{prop:"ch",name:"ch",embedded:false,exported:false,typ:AG,tag:""},{prop:"readBuf",name:"readBuf",embedded:false,exported:false,typ:W,tag:""},{prop:"readDeadline",name:"readDeadline",embedded:false,exported:false,typ:F.Time,tag:""}]);S.init("",[{prop:"Object",name:"Object",embedded:true,exported:true,typ:AD,tag:""},{prop:"Data",name:"Data",embedded:false,exported:true,typ:AD,tag:"js:\"data\""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}N=new M.ptr();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})(); $packages["container/heap"]=(function(){var $pkg={},$init,A,D,E,H,I;A=$packages["sort"];D=function(a,b){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=a.Push(b);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=a;d=a.Len();$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d-1>>0;$r=H(c,e);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:D};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Push=D;E=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.Len();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b-1>>0;$r=a.Swap(0,c);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=I(a,0,c);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d;e=a.Pop();$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:E};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Pop=E;H=function(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:d=(c=((b-1>>0))/2,(c===c&&c!==1/0&&c!==-1/0)?c>>0:$throwRuntimeError("integer divide by zero"));if(d===b){e=true;$s=5;continue s;}f=a.Less(b,d);$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=!f;case 5:if(e){$s=3;continue;}$s=4;continue;case 3:$s=2;continue;case 4:$r=a.Swap(d,b);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=d;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:H};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};I=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=b;case 1:e=($imul(2,d))+1>>0;if(e>=c||e<0){$s=2;continue;}f=e;g=e+1>>0;if(!(gb;}return;}if($f===undefined){$f={$blk:I};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})(); $packages["github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux"]=(function(){var $pkg={},$init,H,C,A,D,E,F,I,B,J,G,N,Q,S,T,U,Z,AA,AB,AC,AE,AF,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,K,L,M,O,P,R,V,W,Y,AD,AG;H=$packages["container/heap"];C=$packages["encoding/binary"];A=$packages["errors"];D=$packages["fmt"];E=$packages["io"];F=$packages["math"];I=$packages["net"];B=$packages["sync"];J=$packages["sync/atomic"];G=$packages["time"];N=$pkg.Allocator=$newType(0,$kindStruct,"smux.Allocator",true,"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",true,function(buffers_){this.$val=this;if(arguments.length===0){this.buffers=AI.nil;return;}this.buffers=buffers_;});Q=$pkg.Frame=$newType(0,$kindStruct,"smux.Frame",true,"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",true,function(ver_,cmd_,sid_,data_){this.$val=this;if(arguments.length===0){this.ver=0;this.cmd=0;this.sid=0;this.data=AJ.nil;return;}this.ver=ver_;this.cmd=cmd_;this.sid=sid_;this.data=data_;});S=$pkg.rawHeader=$newType(8,$kindArray,"smux.rawHeader",true,"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",false,null);T=$pkg.updHeader=$newType(8,$kindArray,"smux.updHeader",true,"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",false,null);U=$pkg.Config=$newType(0,$kindStruct,"smux.Config",true,"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",true,function(Version_,KeepAliveDisabled_,KeepAliveInterval_,KeepAliveTimeout_,MaxFrameSize_,MaxReceiveBuffer_,MaxStreamBuffer_){this.$val=this;if(arguments.length===0){this.Version=0;this.KeepAliveDisabled=false;this.KeepAliveInterval=new G.Duration(0,0);this.KeepAliveTimeout=new G.Duration(0,0);this.MaxFrameSize=0;this.MaxReceiveBuffer=0;this.MaxStreamBuffer=0;return;}this.Version=Version_;this.KeepAliveDisabled=KeepAliveDisabled_;this.KeepAliveInterval=KeepAliveInterval_;this.KeepAliveTimeout=KeepAliveTimeout_;this.MaxFrameSize=MaxFrameSize_;this.MaxReceiveBuffer=MaxReceiveBuffer_;this.MaxStreamBuffer=MaxStreamBuffer_;});Z=$pkg.writeRequest=$newType(0,$kindStruct,"smux.writeRequest",true,"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",false,function(prio_,frame_,result_){this.$val=this;if(arguments.length===0){this.prio=new $Uint64(0,0);this.frame=new Q.ptr(0,0,0,AJ.nil);this.result=$chanNil;return;}this.prio=prio_;this.frame=frame_;this.result=result_;});AA=$pkg.writeResult=$newType(0,$kindStruct,"smux.writeResult",true,"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",false,function(n_,err_){this.$val=this;if(arguments.length===0){this.n=0;this.err=$ifaceNil;return;}this.n=n_;this.err=err_;});AB=$pkg.buffersWriter=$newType(8,$kindInterface,"smux.buffersWriter",true,"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",false,null);AC=$pkg.Session=$newType(0,$kindStruct,"smux.Session",true,"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",true,function(conn_,config_,nextStreamID_,nextStreamIDLock_,bucket_,bucketNotify_,streams_,streamLock_,die_,dieOnce_,socketReadError_,socketWriteError_,chSocketReadError_,chSocketWriteError_,socketReadErrorOnce_,socketWriteErrorOnce_,protoError_,chProtoError_,protoErrorOnce_,chAccepts_,dataReady_,goAway_,deadline_,shaper_,writes_){this.$val=this;if(arguments.length===0){this.conn=$ifaceNil;this.config=AL.nil;this.nextStreamID=0;this.nextStreamIDLock=new B.Mutex.ptr(0,0);this.bucket=0;this.bucketNotify=$chanNil;this.streams=false;this.streamLock=new B.Mutex.ptr(0,0);this.die=$chanNil;this.dieOnce=new B.Once.ptr(new B.Mutex.ptr(0,0),0);this.socketReadError=new J.Value.ptr($ifaceNil);this.socketWriteError=new J.Value.ptr($ifaceNil);this.chSocketReadError=$chanNil;this.chSocketWriteError=$chanNil;this.socketReadErrorOnce=new B.Once.ptr(new B.Mutex.ptr(0,0),0);this.socketWriteErrorOnce=new B.Once.ptr(new B.Mutex.ptr(0,0),0);this.protoError=new J.Value.ptr($ifaceNil);this.chProtoError=$chanNil;this.protoErrorOnce=new B.Once.ptr(new B.Mutex.ptr(0,0),0);this.chAccepts=$chanNil;this.dataReady=0;this.goAway=0;this.deadline=new J.Value.ptr($ifaceNil);this.shaper=$chanNil;this.writes=$chanNil;return;}this.conn=conn_;this.config=config_;this.nextStreamID=nextStreamID_;this.nextStreamIDLock=nextStreamIDLock_;this.bucket=bucket_;this.bucketNotify=bucketNotify_;this.streams=streams_;this.streamLock=streamLock_;this.die=die_;this.dieOnce=dieOnce_;this.socketReadError=socketReadError_;this.socketWriteError=socketWriteError_;this.chSocketReadError=chSocketReadError_;this.chSocketWriteError=chSocketWriteError_;this.socketReadErrorOnce=socketReadErrorOnce_;this.socketWriteErrorOnce=socketWriteErrorOnce_;this.protoError=protoError_;this.chProtoError=chProtoError_;this.protoErrorOnce=protoErrorOnce_;this.chAccepts=chAccepts_;this.dataReady=dataReady_;this.goAway=goAway_;this.deadline=deadline_;this.shaper=shaper_;this.writes=writes_;});AE=$pkg.shaperHeap=$newType(12,$kindSlice,"smux.shaperHeap",true,"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",false,null);AF=$pkg.Stream=$newType(0,$kindStruct,"smux.Stream",true,"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",true,function(id_,sess_,buffers_,heads_,bufferLock_,frameSize_,chReadEvent_,die_,dieOnce_,chFinEvent_,finEventOnce_,readDeadline_,writeDeadline_,numRead_,numWritten_,incr_,peerConsumed_,peerWindow_,chUpdate_){this.$val=this;if(arguments.length===0){this.id=0;this.sess=AM.nil;this.buffers=AU.nil;this.heads=AU.nil;this.bufferLock=new B.Mutex.ptr(0,0);this.frameSize=0;this.chReadEvent=$chanNil;this.die=$chanNil;this.dieOnce=new B.Once.ptr(new B.Mutex.ptr(0,0),0);this.chFinEvent=$chanNil;this.finEventOnce=new B.Once.ptr(new B.Mutex.ptr(0,0),0);this.readDeadline=new J.Value.ptr($ifaceNil);this.writeDeadline=new J.Value.ptr($ifaceNil);this.numRead=0;this.numWritten=0;this.incr=0;this.peerConsumed=0;this.peerWindow=0;this.chUpdate=$chanNil;return;}this.id=id_;this.sess=sess_;this.buffers=buffers_;this.heads=heads_;this.bufferLock=bufferLock_;this.frameSize=frameSize_;this.chReadEvent=chReadEvent_;this.die=die_;this.dieOnce=dieOnce_;this.chFinEvent=chFinEvent_;this.finEventOnce=finEventOnce_;this.readDeadline=readDeadline_;this.writeDeadline=writeDeadline_;this.numRead=numRead_;this.numWritten=numWritten_;this.incr=incr_;this.peerConsumed=peerConsumed_;this.peerWindow=peerWindow_;this.chUpdate=chUpdate_;});AH=$ptrType(N);AI=$sliceType(B.Pool);AJ=$sliceType($Uint8);AK=$sliceType($emptyInterface);AL=$ptrType(U);AM=$ptrType(AC);AN=$structType("",[]);AO=$ptrType(AF);AP=$interfaceType([{prop:"LocalAddr",name:"LocalAddr",pkg:"",typ:$funcType([],[I.Addr],false)}]);AQ=$interfaceType([{prop:"RemoteAddr",name:"RemoteAddr",pkg:"",typ:$funcType([],[I.Addr],false)}]);AR=$ptrType($Int32);AS=$arrayType($Uint8,8);AT=$ptrType(AE);AU=$sliceType(AJ);AV=$ptrType(G.Timer);AW=$ptrType($Uint32);AX=$chanType(AA,false,false);AY=$chanType(G.Time,false,true);AZ=$chanType(AN,false,false);BA=$mapType($Uint32,AO);BB=$chanType(AO,false,false);BC=$chanType(Z,false,false);BD=$chanType(AN,false,true);M=function(){K=O();};O=function(){var a,b,c,d,e,f;a=new N.ptr(AI.nil);a.buffers=$makeSlice(AI,17);b=a.buffers;c=0;while(true){if(!(c=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e])).New=(function(d){return function(){var f;return $makeSlice(AJ,((f=((d[0]>>>0)),f<32?(1<>0));};})(d);c++;}return a;};$pkg.NewAllocator=O;N.ptr.prototype.Get=function(a){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a<=0||a>65536){$s=-1;return AJ.nil;}c=P(a);if(a===((d=c,d<32?(1<>0)){$s=1;continue;}$s=2;continue;case 1:f=(e=b.buffers,((c<0||c>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+c])).Get();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return $subslice($assertType(f,AJ),0,a);case 2:i=(g=b.buffers,h=c+1<<24>>>24,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h])).Get();$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=-1;return $subslice($assertType(i,AJ),0,a);case 3:$s=-1;return AJ.nil;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.Get};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.Get=function(a){return this.$val.Get(a);};N.ptr.prototype.Put=function(a){var a,b,c,d,e;b=this;c=P(a.$capacity);if((a.$capacity===0)||a.$capacity>65536||!((a.$capacity===((d=c,d<32?(1<>0)))){return A.New("allocator Put() incorrect buffer size");}(e=b.buffers,((c<0||c>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+c])).Put(a);return $ifaceNil;};N.prototype.Put=function(a){return this.$val.Put(a);};P=function(a){var a,b,c;b=((a>>>0));b=(b|((b>>>1>>>0)))>>>0;b=(b|((b>>>2>>>0)))>>>0;b=(b|((b>>>4>>>0)))>>>0;b=(b|((b>>>8>>>0)))>>>0;b=(b|((b>>>16>>>0)))>>>0;return(c=(($imul(b,130329821)>>>0))>>>27>>>0,((c<0||c>=L.length)?($throwRuntimeError("index out of range"),undefined):L[c]));};R=function(a,b,c){var a,b,c;return new Q.ptr(a,b,c,AJ.nil);};S.prototype.Version=function(){var a;a=this.$val;return a[0];};$ptrType(S).prototype.Version=function(){return new S(this.$get()).Version();};S.prototype.Cmd=function(){var a;a=this.$val;return a[1];};$ptrType(S).prototype.Cmd=function(){return new S(this.$get()).Cmd();};S.prototype.Length=function(){var a;a=this.$val;return $clone(C.LittleEndian,C.littleEndian).Uint16($subslice(new AJ(a),2));};$ptrType(S).prototype.Length=function(){return new S(this.$get()).Length();};S.prototype.StreamID=function(){var a;a=this.$val;return $clone(C.LittleEndian,C.littleEndian).Uint32($subslice(new AJ(a),4));};$ptrType(S).prototype.StreamID=function(){return new S(this.$get()).StreamID();};S.prototype.String=function(){var a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this.$val;b=D.Sprintf("Version:%d Cmd:%d StreamID:%d Length:%d",new AK([new $Uint8(new S($clone(a,S)).Version()),new $Uint8(new S($clone(a,S)).Cmd()),new $Uint32(new S($clone(a,S)).StreamID()),new $Uint16(new S($clone(a,S)).Length())]));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:S.prototype.String};}$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(S).prototype.String=function(){return new S(this.$get()).String();};T.prototype.Consumed=function(){var a;a=this.$val;return $clone(C.LittleEndian,C.littleEndian).Uint32(new AJ(a));};$ptrType(T).prototype.Consumed=function(){return new T(this.$get()).Consumed();};T.prototype.Window=function(){var a;a=this.$val;return $clone(C.LittleEndian,C.littleEndian).Uint32($subslice(new AJ(a),4));};$ptrType(T).prototype.Window=function(){return new T(this.$get()).Window();};V=function(){return new U.ptr(1,false,new G.Duration(2,1410065408),new G.Duration(6,4230196224),32768,4194304,65536);};$pkg.DefaultConfig=V;W=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!((a.Version===1)||(a.Version===2))){$s=-1;return A.New("unsupported protocol version");}if(!a.KeepAliveDisabled){$s=1;continue;}$s=2;continue;case 1:if((b=a.KeepAliveInterval,(b.$high===0&&b.$low===0))){$s=-1;return A.New("keep-alive interval must be positive");}if((c=a.KeepAliveTimeout,d=a.KeepAliveInterval,(c.$high65535){$s=-1;return A.New("max frame size must not be larger than 65535");}if(a.MaxReceiveBuffer<=0){$s=-1;return A.New("max receive buffer must be positive");}if(a.MaxStreamBuffer<=0){$s=-1;return A.New("max stream buffer must be positive");}if(a.MaxStreamBuffer>a.MaxReceiveBuffer){$s=-1;return A.New("max stream buffer must not be larger than max receive buffer");}if(a.MaxStreamBuffer>2147483647){$s=-1;return A.New("max stream buffer cannot be larger than 2147483647");}$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:W};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.VerifyConfig=W;Y=function(a,b){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(b===AL.nil){b=V();}c=W(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(!($interfaceIsEqual(d,$ifaceNil))){$s=-1;return[AM.nil,d];}$s=-1;return[AD(b,a,true),$ifaceNil];}return;}if($f===undefined){$f={$blk:Y};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Client=Y;AD=function(a,b,c){var a,b,c,d;d=new AC.ptr($ifaceNil,AL.nil,0,new B.Mutex.ptr(0,0),0,$chanNil,false,new B.Mutex.ptr(0,0),$chanNil,new B.Once.ptr(new B.Mutex.ptr(0,0),0),new J.Value.ptr($ifaceNil),new J.Value.ptr($ifaceNil),$chanNil,$chanNil,new B.Once.ptr(new B.Mutex.ptr(0,0),0),new B.Once.ptr(new B.Mutex.ptr(0,0),0),new J.Value.ptr($ifaceNil),$chanNil,new B.Once.ptr(new B.Mutex.ptr(0,0),0),$chanNil,0,0,new J.Value.ptr($ifaceNil),$chanNil,$chanNil);d.die=new $Chan(AN,0);d.conn=b;d.config=a;d.streams={};d.chAccepts=new $Chan(AO,1024);d.bucket=((a.MaxReceiveBuffer>>0));d.bucketNotify=new $Chan(AN,1);d.shaper=new $Chan(Z,0);d.writes=new $Chan(Z,0);d.chSocketReadError=new $Chan(AN,0);d.chSocketWriteError=new $Chan(AN,0);d.chProtoError=new $Chan(AN,0);if(c){d.nextStreamID=1;}else{d.nextStreamID=0;}$go($methodVal(d,"shaperLoop"),[]);$go($methodVal(d,"recvLoop"),[]);$go($methodVal(d,"sendLoop"),[]);if(!a.KeepAliveDisabled){$go($methodVal(d,"keepalive"),[]);}return d;};AC.ptr.prototype.OpenStream=function(){var a,b,c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.IsClosed()){$s=-1;return[AO.nil,E.ErrClosedPipe];}$r=a.nextStreamIDLock.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(a.goAway>0){$s=2;continue;}$s=3;continue;case 2:$r=a.nextStreamIDLock.Unlock();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[AO.nil,$pkg.ErrGoAway];case 3:a.nextStreamID=a.nextStreamID+(2)>>>0;b=a.nextStreamID;if(b===(c=b%2,c===c?c:$throwRuntimeError("integer divide by zero"))){$s=5;continue;}$s=6;continue;case 5:a.goAway=1;$r=a.nextStreamIDLock.Unlock();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[AO.nil,$pkg.ErrGoAway];case 6:$r=a.nextStreamIDLock.Unlock();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=AG(b,a.config.MaxFrameSize,a);f=a.writeFrame($clone(R(((a.config.Version<<24>>>24)),0,b),Q));$s=9;case 9:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[1];if(!($interfaceIsEqual(g,$ifaceNil))){$s=-1;return[AO.nil,g];}$r=a.streamLock.Lock();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(a.streamLock,"Unlock"),[]]);h=$select([[a.chSocketReadError],[a.chSocketWriteError],[a.die],[]]);if(h[0]===0){$s=-1;return[AO.nil,$assertType(a.socketReadError.Load(),$error)];}else if(h[0]===1){$s=-1;return[AO.nil,$assertType(a.socketWriteError.Load(),$error)];}else if(h[0]===2){$s=-1;return[AO.nil,E.ErrClosedPipe];}else if(h[0]===3){i=b;(a.streams||$throwRuntimeError("assignment to entry in nil map"))[$Uint32.keyFor(i)]={k:i,v:d};$s=-1;return[d,$ifaceNil];}$s=-1;return[AO.nil,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[AO.nil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AC.ptr.prototype.OpenStream};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AC.prototype.OpenStream=function(){return this.$val.OpenStream();};AC.ptr.prototype.Open=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.OpenStream();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=-1;return[c[0],c[1]];}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.Open};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.Open=function(){return this.$val.Open();};AC.ptr.prototype.AcceptStream=function(){var a,b,c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;b=$chanNil;c=$assertType(a.deadline.Load(),G.Time,true);d=$clone(c[0],G.Time);e=c[1];if(e&&!$clone(d,G.Time).IsZero()){f=G.NewTimer(G.Until($clone(d,G.Time)));$deferred.push([$methodVal(f,"Stop"),[]]);b=f.C;}h=$select([[a.chAccepts],[b],[a.chSocketReadError],[a.chProtoError],[a.die]]);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;if(g[0]===0){i=g[1][0];$s=-1;return[i,$ifaceNil];}else if(g[0]===1){$s=-1;return[AO.nil,$pkg.ErrTimeout];}else if(g[0]===2){$s=-1;return[AO.nil,$assertType(a.socketReadError.Load(),$error)];}else if(g[0]===3){$s=-1;return[AO.nil,$assertType(a.protoError.Load(),$error)];}else if(g[0]===4){$s=-1;return[AO.nil,E.ErrClosedPipe];}$s=-1;return[AO.nil,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[AO.nil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AC.ptr.prototype.AcceptStream};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AC.prototype.AcceptStream=function(){return this.$val.AcceptStream();};AC.ptr.prototype.Accept=function(){var a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.AcceptStream();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$s=-1;return[c[0],c[1]];}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.Accept};}$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.Accept=function(){return this.$val.Accept();};AC.ptr.prototype.Close=function(){var a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];b[0]=this;a[0]=false;$r=b[0].dieOnce.Do((function(a,b){return function(){$close(b[0].die);a[0]=true;};})(a,b));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(a[0]){$s=2;continue;}$s=3;continue;case 2:$r=b[0].streamLock.Lock();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=b[0].streams;d=0;e=$keys(c);case 6:if(!(d0){if(J.AddInt32((b.$ptr_bucket||(b.$ptr_bucket=new AR(function(){return this.$target.bucket;},function($v){this.$target.bucket=$v;},b))),((e>>0)))>0){b.notifyBucket();}}delete b.streams[$Uint32.keyFor(a)];$r=b.streamLock.Unlock();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.streamClosed};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.streamClosed=function(a){return this.$val.streamClosed(a);};AC.ptr.prototype.returnTokens=function(a){var a,b;b=this;if(J.AddInt32((b.$ptr_bucket||(b.$ptr_bucket=new AR(function(){return this.$target.bucket;},function($v){this.$target.bucket=$v;},b))),((a>>0)))>0){b.notifyBucket();}};AC.prototype.returnTokens=function(a){return this.$val.returnTokens(a);};AC.ptr.prototype.recvLoop=function(){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=AS.zero();c=AS.zero();case 1:case 3:if(!(J.LoadInt32((a.$ptr_bucket||(a.$ptr_bucket=new AR(function(){return this.$target.bucket;},function($v){this.$target.bucket=$v;},a))))<=0&&!a.IsClosed())){$s=4;continue;}e=$select([[a.bucketNotify],[a.die]]);$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;if(d[0]===0){}else if(d[0]===1){$s=-1;return;}$s=3;continue;case 4:g=E.ReadFull(a.conn,new AJ(b));$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[1];if($interfaceIsEqual(h,$ifaceNil)){$s=7;continue;}$s=8;continue;case 7:J.StoreInt32((a.$ptr_dataReady||(a.$ptr_dataReady=new AR(function(){return this.$target.dataReady;},function($v){this.$target.dataReady=$v;},a))),1);if(!((new S($clone(b,S)).Version()===((a.config.Version<<24>>>24))))){$s=10;continue;}$s=11;continue;case 10:$r=a.notifyProtoError($pkg.ErrInvalidProtocol);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 11:i=new S($clone(b,S)).StreamID();j=new S($clone(b,S)).Cmd();if(j===(3)){$s=14;continue;}if(j===(0)){$s=15;continue;}if(j===(1)){$s=16;continue;}if(j===(2)){$s=17;continue;}if(j===(4)){$s=18;continue;}$s=19;continue;case 14:$s=20;continue;case 15:$r=a.streamLock.Lock();$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}k=(l=a.streams[$Uint32.keyFor(i)],l!==undefined?[l.v,true]:[AO.nil,false]);m=k[1];if(!m){$s=22;continue;}$s=23;continue;case 22:n=AG(i,a.config.MaxFrameSize,a);o=i;(a.streams||$throwRuntimeError("assignment to entry in nil map"))[$Uint32.keyFor(o)]={k:o,v:n};q=$select([[a.chAccepts,n],[a.die]]);$s=24;case 24:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;if(p[0]===0){}else if(p[0]===1){}case 23:$r=a.streamLock.Unlock();$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=20;continue;case 16:$r=a.streamLock.Lock();$s=26;case 26:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}r=(s=a.streams[$Uint32.keyFor(i)],s!==undefined?[s.v,true]:[AO.nil,false]);t=r[0];u=r[1];if(u){$s=27;continue;}$s=28;continue;case 27:$r=t.fin();$s=29;case 29:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}t.notifyReadEvent();case 28:$r=a.streamLock.Unlock();$s=30;case 30:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=20;continue;case 17:if(new S($clone(b,S)).Length()>0){$s=31;continue;}$s=32;continue;case 31:v=K.Get(((new S($clone(b,S)).Length()>>0)));$s=33;case 33:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;y=E.ReadFull(a.conn,w);$s=34;case 34:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;z=x[0];aa=x[1];if($interfaceIsEqual(aa,$ifaceNil)){$s=35;continue;}$s=36;continue;case 35:$r=a.streamLock.Lock();$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ab=(ac=a.streams[$Uint32.keyFor(i)],ac!==undefined?[ac.v,true]:[AO.nil,false]);ad=ab[0];ae=ab[1];if(ae){$s=39;continue;}$s=40;continue;case 39:af=ad.pushBytes(w);$s=41;case 41:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}af;J.AddInt32((a.$ptr_bucket||(a.$ptr_bucket=new AR(function(){return this.$target.bucket;},function($v){this.$target.bucket=$v;},a))),-((z>>0)));ad.notifyReadEvent();case 40:$r=a.streamLock.Unlock();$s=42;case 42:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=37;continue;case 36:$r=a.notifyReadError(aa);$s=43;case 43:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 37:case 32:$s=20;continue;case 18:ah=E.ReadFull(a.conn,new AJ(c));$s=44;case 44:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;ai=ag[1];if($interfaceIsEqual(ai,$ifaceNil)){$s=45;continue;}$s=46;continue;case 45:$r=a.streamLock.Lock();$s=48;case 48:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aj=(ak=a.streams[$Uint32.keyFor(i)],ak!==undefined?[ak.v,true]:[AO.nil,false]);al=aj[0];am=aj[1];if(am){al.update(new T($clone(c,T)).Consumed(),new T($clone(c,T)).Window());}$r=a.streamLock.Unlock();$s=49;case 49:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=47;continue;case 46:$r=a.notifyReadError(ai);$s=50;case 50:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 47:$s=20;continue;case 19:$r=a.notifyProtoError($pkg.ErrInvalidProtocol);$s=51;case 51:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 20:case 13:$s=9;continue;case 8:$r=a.notifyReadError(h);$s=52;case 52:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 9:$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.recvLoop};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.recvLoop=function(){return this.$val.recvLoop();};AC.ptr.prototype.keepalive=function(){var a,b,c,d,e,f,g,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;b=G.NewTicker(a.config.KeepAliveInterval);c=G.NewTicker(a.config.KeepAliveTimeout);$deferred.push([$methodVal(b,"Stop"),[]]);$deferred.push([$methodVal(c,"Stop"),[]]);case 1:e=$select([[b.C],[c.C],[a.die]]);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;if(d[0]===0){$s=4;continue;}if(d[0]===1){$s=5;continue;}if(d[0]===2){$s=6;continue;}$s=7;continue;case 4:f=a.writeFrameInternal($clone(R(((a.config.Version<<24>>>24)),3,0),Q),b.C,new $Uint64(0,0));$s=8;case 8:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;a.notifyBucket();$s=7;continue;case 5:if(!J.CompareAndSwapInt32((a.$ptr_dataReady||(a.$ptr_dataReady=new AR(function(){return this.$target.dataReady;},function($v){this.$target.dataReady=$v;},a))),1,0)){$s=9;continue;}$s=10;continue;case 9:if(J.LoadInt32((a.$ptr_bucket||(a.$ptr_bucket=new AR(function(){return this.$target.bucket;},function($v){this.$target.bucket=$v;},a))))>0){$s=11;continue;}$s=12;continue;case 11:g=a.Close();$s=13;case 13:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=-1;return;case 12:case 10:$s=7;continue;case 6:$s=-1;return;case 7:$s=1;continue;case 2:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AC.ptr.prototype.keepalive};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AC.prototype.keepalive=function(){return this.$val.keepalive();};AC.ptr.prototype.shaperLoop=function(){var a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=this;a[0]=AE.nil;c=new Z.ptr(new $Uint64(0,0),new Q.ptr(0,0,0,AJ.nil),$chanNil);d=$chanNil;case 1:if(a[0].$length>0){$s=3;continue;}$s=4;continue;case 3:d=b.writes;e=H.Pop((a.$ptr||(a.$ptr=new AT(function(){return this.$target[0];},function($v){this.$target[0]=$v;},a))));$s=6;case 6:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}Z.copy(c,$assertType(e,Z));$s=5;continue;case 4:d=$chanNil;case 5:g=$select([[b.die],[b.shaper],[d,$clone(c,Z)]]);$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;if(f[0]===0){$s=8;continue;}if(f[0]===1){$s=9;continue;}if(f[0]===2){$s=10;continue;}$s=11;continue;case 8:$s=-1;return;case 9:h=$clone(f[1][0],Z);if(!(d===$chanNil)){$s=12;continue;}$s=13;continue;case 12:$r=H.Push((a.$ptr||(a.$ptr=new AT(function(){return this.$target[0];},function($v){this.$target[0]=$v;},a))),new c.constructor.elem(c));$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 13:$r=H.Push((a.$ptr||(a.$ptr=new AT(function(){return this.$target[0];},function($v){this.$target[0]=$v;},a))),new h.constructor.elem(h));$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=11;continue;case 10:case 11:$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.shaperLoop};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.shaperLoop=function(){return this.$val.shaperLoop();};AC.ptr.prototype.sendLoop=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=AJ.nil;c=0;d=$ifaceNil;e=AU.nil;f=$assertType(a.conn,AB,true);g=f[0];h=f[1];if(h){b=$makeSlice(AJ,8);e=$makeSlice(AU,2);}else{b=$makeSlice(AJ,65544);}case 1:j=$select([[a.die],[a.writes]]);$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;if(i[0]===0){$s=4;continue;}if(i[0]===1){$s=5;continue;}$s=6;continue;case 4:$s=-1;return;case 5:k=$clone(i[1][0],Z);(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]=k.frame.ver);(1>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+1]=k.frame.cmd);$clone(C.LittleEndian,C.littleEndian).PutUint16($subslice(b,2),((k.frame.data.$length<<16>>>16)));$clone(C.LittleEndian,C.littleEndian).PutUint32($subslice(b,4),k.frame.sid);if(e.$length>0){$s=7;continue;}$s=8;continue;case 7:(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]=$subslice(b,0,8));(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]=k.frame.data);m=g.WriteBuffers(e);$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;c=l[0];d=l[1];$s=9;continue;case 8:$copySlice($subslice(b,8),k.frame.data);o=a.conn.Write($subslice(b,0,(8+k.frame.data.$length>>0)));$s=11;case 11:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;c=n[0];d=n[1];case 9:c=c-(8)>>0;if(c<0){c=0;}p=new AA.ptr(c,d);$r=$send(k.result,$clone($clone(p,AA),AA));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$close(k.result);if(!($interfaceIsEqual(d,$ifaceNil))){$s=13;continue;}$s=14;continue;case 13:$r=a.notifyWriteError(d);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 14:case 6:$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.sendLoop};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.sendLoop=function(){return this.$val.sendLoop();};AC.ptr.prototype.writeFrame=function(a){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;f=d.writeFrameInternal($clone(a,Q),$chanNil,new $Uint64(0,0));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;b=e[0];c=e[1];$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.writeFrame};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.writeFrame=function(a){return this.$val.writeFrame(a);};AC.ptr.prototype.writeFrameInternal=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=new Z.ptr(c,$clone(a,Q),new $Chan(AA,1));g=$select([[d.shaper,$clone(e,Z)],[d.die],[d.chSocketWriteError],[b]]);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;if(f[0]===0){$s=2;continue;}if(f[0]===1){$s=3;continue;}if(f[0]===2){$s=4;continue;}if(f[0]===3){$s=5;continue;}$s=6;continue;case 2:$s=6;continue;case 3:$s=-1;return[0,E.ErrClosedPipe];case 4:$s=-1;return[0,$assertType(d.socketWriteError.Load(),$error)];case 5:$s=-1;return[0,$pkg.ErrTimeout];case 6:i=$select([[e.result],[d.die],[d.chSocketWriteError],[b]]);$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;if(h[0]===0){j=$clone(h[1][0],AA);$s=-1;return[j.n,j.err];}else if(h[0]===1){$s=-1;return[0,E.ErrClosedPipe];}else if(h[0]===2){$s=-1;return[0,$assertType(d.socketWriteError.Load(),$error)];}else if(h[0]===3){$s=-1;return[0,$pkg.ErrTimeout];}$s=-1;return[0,$ifaceNil];}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.writeFrameInternal};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.writeFrameInternal=function(a,b,c){return this.$val.writeFrameInternal(a,b,c);};AE.prototype.Len=function(){var a;a=this;return a.$length;};$ptrType(AE).prototype.Len=function(){return this.$get().Len();};AE.prototype.Less=function(a,b){var a,b,c,d,e;c=this;return(d=((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]).prio,e=((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]).prio,(d.$high=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]),Z);e=$clone(((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]),Z);Z.copy(((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]),d);Z.copy(((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]),e);};$ptrType(AE).prototype.Swap=function(a,b){return this.$get().Swap(a,b);};$ptrType(AE).prototype.Push=function(a){var a,b;b=this;b.$set($append(b.$get(),$assertType(a,Z)));};$ptrType(AE).prototype.Pop=function(){var a,b,c,d,e;a=this;b=a.$get();c=b.$length;e=$clone((d=c-1>>0,((d<0||d>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+d])),Z);a.$set($subslice(b,0,(c-1>>0)));return new e.constructor.elem(e);};AG=function(a,b,c){var a,b,c,d;d=new AF.ptr(0,AM.nil,AU.nil,AU.nil,new B.Mutex.ptr(0,0),0,$chanNil,$chanNil,new B.Once.ptr(new B.Mutex.ptr(0,0),0),$chanNil,new B.Once.ptr(new B.Mutex.ptr(0,0),0),new J.Value.ptr($ifaceNil),new J.Value.ptr($ifaceNil),0,0,0,0,0,$chanNil);d.id=a;d.chReadEvent=new $Chan(AN,1);d.chUpdate=new $Chan(AN,1);d.frameSize=b;d.sess=c;d.die=new $Chan(AN,0);d.chFinEvent=new $Chan(AN,0);d.peerWindow=262144;return d;};AF.ptr.prototype.ID=function(){var a;a=this;return a.id;};AF.prototype.ID=function(){return this.$val.ID();};AF.ptr.prototype.Read=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;case 1:f=d.tryRead(a);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;b=e[0];c=e[1];if($interfaceIsEqual(c,$pkg.ErrWouldBlock)){$s=4;continue;}$s=5;continue;case 4:g=d.waitRead();$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!($interfaceIsEqual(h,$ifaceNil))){i=0;j=h;b=i;c=j;$s=-1;return[b,c];}$s=6;continue;case 5:k=b;l=c;b=k;c=l;$s=-1;return[b,c];case 6:$s=1;continue;case 2:$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.Read};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.Read=function(a){return this.$val.Read(a);};AF.ptr.prototype.tryRead=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;if(d.sess.config.Version===2){$s=1;continue;}$s=2;continue;case 1:f=d.tryReadv2(a);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;b=e[0];c=e[1];$s=-1;return[b,c];case 2:if(a.$length===0){g=0;h=$ifaceNil;b=g;c=h;$s=-1;return[b,c];}$r=d.bufferLock.Lock();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(d.buffers.$length>0){b=$copySlice(a,(i=d.buffers,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0])));(k=d.buffers,(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0]=$subslice((j=d.buffers,(0>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+0])),b)));if((l=d.buffers,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])).$length===0){(m=d.buffers,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0]=AJ.nil));d.buffers=$subslice(d.buffers,1);K.Put((n=d.heads,(0>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+0])));d.heads=$subslice(d.heads,1);}}$r=d.bufferLock.Unlock();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(b>0){d.sess.returnTokens(b);o=b;p=$ifaceNil;b=o;c=p;$s=-1;return[b,c];}q=$select([[d.die],[]]);if(q[0]===0){r=0;s=E.EOF;b=r;c=s;$s=-1;return[b,c];}else if(q[0]===1){t=0;u=$pkg.ErrWouldBlock;b=t;c=u;$s=-1;return[b,c];}$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.tryRead};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.tryRead=function(a){return this.$val.tryRead(a);};AF.ptr.prototype.tryReadv2=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;if(a.$length===0){e=0;f=$ifaceNil;b=e;c=f;$s=-1;return[b,c];}g=0;$r=d.bufferLock.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(d.buffers.$length>0){b=$copySlice(a,(h=d.buffers,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0])));(j=d.buffers,(0>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+0]=$subslice((i=d.buffers,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0])),b)));if((k=d.buffers,(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0])).$length===0){(l=d.buffers,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0]=AJ.nil));d.buffers=$subslice(d.buffers,1);K.Put((m=d.heads,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])));d.heads=$subslice(d.heads,1);}}d.numRead=d.numRead+(((b>>>0)))>>>0;d.incr=d.incr+(((b>>>0)))>>>0;if(d.incr>=(((n=d.sess.config.MaxStreamBuffer/2,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"))>>>0))||(d.numRead===((b>>>0)))){g=d.numRead;d.incr=0;}$r=d.bufferLock.Unlock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(b>0){$s=3;continue;}$s=4;continue;case 3:d.sess.returnTokens(b);if(g>0){$s=5;continue;}$s=6;continue;case 5:o=d.sendWindowUpdate(g);$s=8;case 8:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;q=b;r=p;b=q;c=r;$s=-1;return[b,c];case 6:s=b;t=$ifaceNil;b=s;c=t;$s=-1;return[b,c];case 7:case 4:u=$select([[d.die],[]]);if(u[0]===0){v=0;w=E.EOF;b=v;c=w;$s=-1;return[b,c];}else if(u[0]===1){x=0;y=$pkg.ErrWouldBlock;b=x;c=y;$s=-1;return[b,c];}$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.tryReadv2};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.tryReadv2=function(a){return this.$val.tryReadv2(a);};AF.ptr.prototype.WriteTo=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new $Int64(0,0);c=$ifaceNil;d=this;if(d.sess.config.Version===2){$s=1;continue;}$s=2;continue;case 1:f=d.writeTov2(a);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;b=e[0];c=e[1];$s=-1;return[b,c];case 2:case 4:g=AJ.nil;$r=d.bufferLock.Lock();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(d.buffers.$length>0){g=(h=d.buffers,(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]));d.buffers=$subslice(d.buffers,1);d.heads=$subslice(d.heads,1);}$r=d.bufferLock.Unlock();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!(g===AJ.nil)){$s=8;continue;}$s=9;continue;case 8:j=a.Write(g);$s=11;case 11:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];d.sess.returnTokens(g.$length);K.Put(g);if(k>0){b=(m=(new $Int64(0,k)),new $Int64(b.$high+m.$high,b.$low+m.$low));}if(!($interfaceIsEqual(l,$ifaceNil))){n=b;o=l;b=n;c=o;$s=-1;return[b,c];}$s=10;continue;case 9:p=d.waitRead();$s=12;case 12:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;if(!($interfaceIsEqual(q,$ifaceNil))){r=b;s=q;b=r;c=s;$s=-1;return[b,c];}case 10:$s=4;continue;case 5:$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.WriteTo};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.WriteTo=function(a){return this.$val.WriteTo(a);};AF.ptr.prototype.writeTov2=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new $Int64(0,0);c=$ifaceNil;d=this;case 1:e=0;f=AJ.nil;$r=d.bufferLock.Lock();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(d.buffers.$length>0){f=(g=d.buffers,(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]));d.buffers=$subslice(d.buffers,1);d.heads=$subslice(d.heads,1);}d.numRead=d.numRead+(((f.$length>>>0)))>>>0;d.incr=d.incr+(((f.$length>>>0)))>>>0;if(d.incr>=(((h=d.sess.config.MaxStreamBuffer/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"))>>>0))||(d.numRead===((f.$length>>>0)))){e=d.numRead;d.incr=0;}$r=d.bufferLock.Unlock();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!(f===AJ.nil)){$s=5;continue;}$s=6;continue;case 5:j=a.Write(f);$s=8;case 8:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];d.sess.returnTokens(f.$length);K.Put(f);if(k>0){b=(m=(new $Int64(0,k)),new $Int64(b.$high+m.$high,b.$low+m.$low));}if(!($interfaceIsEqual(l,$ifaceNil))){n=b;o=l;b=n;c=o;$s=-1;return[b,c];}if(e>0){$s=9;continue;}$s=10;continue;case 9:p=d.sendWindowUpdate(e);$s=11;case 11:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;if(!($interfaceIsEqual(q,$ifaceNil))){r=b;s=q;b=r;c=s;$s=-1;return[b,c];}case 10:$s=7;continue;case 6:t=d.waitRead();$s=12;case 12:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;if(!($interfaceIsEqual(u,$ifaceNil))){v=b;w=u;b=v;c=w;$s=-1;return[b,c];}case 7:$s=1;continue;case 2:$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.writeTov2};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.writeTov2=function(a){return this.$val.writeTov2(a);};AF.ptr.prototype.sendWindowUpdate=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;c=AV.nil;d=$chanNil;e=$assertType(b.readDeadline.Load(),G.Time,true);f=$clone(e[0],G.Time);g=e[1];if(g&&!$clone(f,G.Time).IsZero()){c=G.NewTimer(G.Until($clone(f,G.Time)));$deferred.push([$methodVal(c,"Stop"),[]]);d=c.C;}h=$clone(R(((b.sess.config.Version<<24>>>24)),4,b.id),Q);i=AS.zero();$clone(C.LittleEndian,C.littleEndian).PutUint32(new AJ(i),a);$clone(C.LittleEndian,C.littleEndian).PutUint32($subslice(new AJ(i),4),((b.sess.config.MaxStreamBuffer>>>0)));h.data=new AJ(i);k=b.sess.writeFrameInternal($clone(h,Q),d,new $Uint64(0,0));$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[1];$s=-1;return l;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AF.ptr.prototype.sendWindowUpdate};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AF.prototype.sendWindowUpdate=function(a){return this.$val.sendWindowUpdate(a);};AF.ptr.prototype.waitRead=function(){var a,b,c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;b=AV.nil;c=$chanNil;d=$assertType(a.readDeadline.Load(),G.Time,true);e=$clone(d[0],G.Time);f=d[1];if(f&&!$clone(e,G.Time).IsZero()){b=G.NewTimer(G.Until($clone(e,G.Time)));$deferred.push([$methodVal(b,"Stop"),[]]);c=b.C;}h=$select([[a.chReadEvent],[a.chFinEvent],[a.sess.chSocketReadError],[a.sess.chProtoError],[c],[a.die]]);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;if(g[0]===0){$s=2;continue;}if(g[0]===1){$s=3;continue;}if(g[0]===2){$s=4;continue;}if(g[0]===3){$s=5;continue;}if(g[0]===4){$s=6;continue;}if(g[0]===5){$s=7;continue;}$s=8;continue;case 2:$s=-1;return $ifaceNil;case 3:$r=a.bufferLock.Lock();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(a.bufferLock,"Unlock"),[]]);if(a.buffers.$length>0){$s=-1;return $ifaceNil;}$s=-1;return E.EOF;case 4:$s=-1;return $assertType(a.sess.socketReadError.Load(),$error);case 5:$s=-1;return $assertType(a.sess.protoError.Load(),$error);case 6:$s=-1;return $pkg.ErrTimeout;case 7:$s=-1;return E.ErrClosedPipe;case 8:$s=-1;return $ifaceNil;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AF.ptr.prototype.waitRead};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AF.prototype.waitRead=function(){return this.$val.waitRead();};AF.ptr.prototype.Write=function(a){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=0;c=$ifaceNil;d=this;if(d.sess.config.Version===2){$s=1;continue;}$s=2;continue;case 1:f=d.writeV2(a);$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;b=e[0];c=e[1];$s=-1;return[b,c];case 2:g=$chanNil;h=$assertType(d.writeDeadline.Load(),G.Time,true);i=$clone(h[0],G.Time);j=h[1];if(j&&!$clone(i,G.Time).IsZero()){k=G.NewTimer(G.Until($clone(i,G.Time)));$deferred.push([$methodVal(k,"Stop"),[]]);g=k.C;}l=$select([[d.die],[]]);if(l[0]===0){m=0;n=E.ErrClosedPipe;b=m;c=n;$s=-1;return[b,c];}else if(l[0]===1){}o=0;p=$clone(R(((d.sess.config.Version<<24>>>24)),2,d.id),Q);q=a;case 4:if(!(q.$length>0)){$s=5;continue;}r=q.$length;if(r>d.frameSize){r=d.frameSize;}p.data=$subslice(q,0,r);q=$subslice(q,r);t=d.sess.writeFrameInternal($clone(p,Q),g,(new $Uint64(0,d.numWritten)));$s=6;case 6:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=s[0];v=s[1];d.numWritten=d.numWritten+(1)>>>0;o=o+(u)>>0;if(!($interfaceIsEqual(v,$ifaceNil))){w=o;x=v;b=w;c=x;$s=-1;return[b,c];}$s=4;continue;case 5:y=o;z=$ifaceNil;b=y;c=z;$s=-1;return[b,c];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[b,c];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:AF.ptr.prototype.Write};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AF.prototype.Write=function(a){return this.$val.Write(a);};AF.ptr.prototype.writeV2=function(a){var a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=0;c=$ifaceNil;d=this;if(a.$length===0){e=0;f=$ifaceNil;b=e;c=f;$s=-1;return[b,c];}g=$select([[d.die],[]]);if(g[0]===0){h=0;i=E.ErrClosedPipe;b=h;c=i;$s=-1;return[b,c];}else if(g[0]===1){}j=$chanNil;k=$assertType(d.writeDeadline.Load(),G.Time,true);l=$clone(k[0],G.Time);m=k[1];if(m&&!$clone(l,G.Time).IsZero()){n=G.NewTimer(G.Until($clone(l,G.Time)));$deferred.push([$methodVal(n,"Stop"),[]]);j=n.C;}o=0;p=$clone(R(((d.sess.config.Version<<24>>>24)),2,d.id),Q);case 1:q=AJ.nil;r=(((J.LoadUint32((d.$ptr_numWritten||(d.$ptr_numWritten=new AW(function(){return this.$target.numWritten;},function($v){this.$target.numWritten=$v;},d))))-J.LoadUint32((d.$ptr_peerConsumed||(d.$ptr_peerConsumed=new AW(function(){return this.$target.peerConsumed;},function($v){this.$target.peerConsumed=$v;},d))))>>>0)>>0));if(r<0){s=0;t=$pkg.ErrConsumed;b=s;c=t;$s=-1;return[b,c];}u=((J.LoadUint32((d.$ptr_peerWindow||(d.$ptr_peerWindow=new AW(function(){return this.$target.peerWindow;},function($v){this.$target.peerWindow=$v;},d))))>>0))-r>>0;if(u>0){$s=3;continue;}$s=4;continue;case 3:if(u>((a.$length>>0))){q=a;a=AJ.nil;}else{q=$subslice(a,0,u);a=$subslice(a,u);}case 5:if(!(q.$length>0)){$s=6;continue;}v=q.$length;if(v>d.frameSize){v=d.frameSize;}p.data=$subslice(q,0,v);q=$subslice(q,v);x=d.sess.writeFrameInternal($clone(p,Q),j,(new $Uint64(0,J.LoadUint32((d.$ptr_numWritten||(d.$ptr_numWritten=new AW(function(){return this.$target.numWritten;},function($v){this.$target.numWritten=$v;},d)))))));$s=7;case 7:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}w=x;y=w[0];z=w[1];J.AddUint32((d.$ptr_numWritten||(d.$ptr_numWritten=new AW(function(){return this.$target.numWritten;},function($v){this.$target.numWritten=$v;},d))),((v>>>0)));o=o+(y)>>0;if(!($interfaceIsEqual(z,$ifaceNil))){aa=o;ab=z;b=aa;c=ab;$s=-1;return[b,c];}$s=5;continue;case 6:case 4:if(a.$length>0){$s=8;continue;}$s=9;continue;case 8:ad=$select([[d.chFinEvent],[d.die],[j],[d.sess.chSocketWriteError],[d.chUpdate]]);$s=11;case 11:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;if(ac[0]===0){ae=0;af=E.EOF;b=ae;c=af;$s=-1;return[b,c];}else if(ac[0]===1){ag=o;ah=E.ErrClosedPipe;b=ag;c=ah;$s=-1;return[b,c];}else if(ac[0]===2){ai=o;aj=$pkg.ErrTimeout;b=ai;c=aj;$s=-1;return[b,c];}else if(ac[0]===3){ak=o;al=$assertType(d.sess.socketWriteError.Load(),$error);b=ak;c=al;$s=-1;return[b,c];}else if(ac[0]===4){$s=1;continue;}$s=10;continue;case 9:am=o;an=$ifaceNil;b=am;c=an;$s=-1;return[b,c];case 10:$s=1;continue;case 2:$s=-1;return[b,c];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[b,c];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:AF.ptr.prototype.writeV2};}$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AF.prototype.writeV2=function(a){return this.$val.writeV2(a);};AF.ptr.prototype.Close=function(){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];b[0]=this;a[0]=false;c=$ifaceNil;$r=b[0].dieOnce.Do((function(a,b){return function(){$close(b[0].die);a[0]=true;};})(a,b));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(a[0]){$s=2;continue;}$s=3;continue;case 2:e=b[0].sess.writeFrame($clone(R(((b[0].sess.config.Version<<24>>>24)),1,b[0].id),Q));$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;c=d[1];$r=b[0].sess.streamClosed(b[0].id);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c;case 3:$s=-1;return E.ErrClosedPipe;case 4:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.Close};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.Close=function(){return this.$val.Close();};AF.ptr.prototype.GetDieCh=function(){var a;a=this;return a.die;};AF.prototype.GetDieCh=function(){return this.$val.GetDieCh();};AF.ptr.prototype.SetReadDeadline=function(a){var a,b;b=this;b.readDeadline.Store(new a.constructor.elem(a));b.notifyReadEvent();return $ifaceNil;};AF.prototype.SetReadDeadline=function(a){return this.$val.SetReadDeadline(a);};AF.ptr.prototype.SetWriteDeadline=function(a){var a,b;b=this;b.writeDeadline.Store(new a.constructor.elem(a));return $ifaceNil;};AF.prototype.SetWriteDeadline=function(a){return this.$val.SetWriteDeadline(a);};AF.ptr.prototype.SetDeadline=function(a){var a,b,c,d;b=this;c=b.SetReadDeadline($clone(a,G.Time));if(!($interfaceIsEqual(c,$ifaceNil))){return c;}d=b.SetWriteDeadline($clone(a,G.Time));if(!($interfaceIsEqual(d,$ifaceNil))){return d;}return $ifaceNil;};AF.prototype.SetDeadline=function(a){return this.$val.SetDeadline(a);};AF.ptr.prototype.sessionClose=function(){var a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];a[0]=this;$r=a[0].dieOnce.Do((function(a){return function(){$close(a[0].die);};})(a));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.sessionClose};}$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.sessionClose=function(){return this.$val.sessionClose();};AF.ptr.prototype.LocalAddr=function(){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=$assertType(a.sess.conn,AP,true);c=b[0];d=b[1];if(d){$s=1;continue;}$s=2;continue;case 1:e=c.LocalAddr();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.LocalAddr};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.LocalAddr=function(){return this.$val.LocalAddr();};AF.ptr.prototype.RemoteAddr=function(){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=$assertType(a.sess.conn,AQ,true);c=b[0];d=b[1];if(d){$s=1;continue;}$s=2;continue;case 1:e=c.RemoteAddr();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.RemoteAddr};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.RemoteAddr=function(){return this.$val.RemoteAddr();};AF.ptr.prototype.pushBytes=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;$r=d.bufferLock.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.buffers=$append(d.buffers,a);d.heads=$append(d.heads,a);$r=d.bufferLock.Unlock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.pushBytes};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.pushBytes=function(a){return this.$val.pushBytes(a);};AF.ptr.prototype.recycleTokens=function(){var a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=0;b=this;$r=b.bufferLock.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=b.buffers;d=0;while(true){if(!(d=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e])).$length)>>0;K.Put((g=b.heads,((e<0||e>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+e])));d++;}b.buffers=AU.nil;b.heads=AU.nil;$r=b.bufferLock.Unlock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return a;}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.recycleTokens};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.recycleTokens=function(){return this.$val.recycleTokens();};AF.ptr.prototype.notifyReadEvent=function(){var a,b,$r;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;$r=$f.$r;}a=this;b=$select([[a.chReadEvent,new AN.ptr()],[]]);if(b[0]===0){}else if(b[0]===1){}if($f===undefined){$f={$blk:AF.ptr.prototype.notifyReadEvent};}$f.a=a;$f.b=b;$f.$r=$r;return $f;};AF.prototype.notifyReadEvent=function(){return this.$val.notifyReadEvent();};AF.ptr.prototype.update=function(a,b){var a,b,c,d,$r;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$r=$f.$r;}c=this;J.StoreUint32((c.$ptr_peerConsumed||(c.$ptr_peerConsumed=new AW(function(){return this.$target.peerConsumed;},function($v){this.$target.peerConsumed=$v;},c))),a);J.StoreUint32((c.$ptr_peerWindow||(c.$ptr_peerWindow=new AW(function(){return this.$target.peerWindow;},function($v){this.$target.peerWindow=$v;},c))),b);d=$select([[c.chUpdate,new AN.ptr()],[]]);if(d[0]===0){}else if(d[0]===1){}if($f===undefined){$f={$blk:AF.ptr.prototype.update};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$r=$r;return $f;};AF.prototype.update=function(a,b){return this.$val.update(a,b);};AF.ptr.prototype.fin=function(){var a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];a[0]=this;$r=a[0].finEventOnce.Do((function(a){return function(){$close(a[0].chFinEvent);};})(a));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.fin};}$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.fin=function(){return this.$val.fin();};AH.methods=[{prop:"Get",name:"Get",pkg:"",typ:$funcType([$Int],[AJ],false)},{prop:"Put",name:"Put",pkg:"",typ:$funcType([AJ],[$error],false)}];S.methods=[{prop:"Version",name:"Version",pkg:"",typ:$funcType([],[$Uint8],false)},{prop:"Cmd",name:"Cmd",pkg:"",typ:$funcType([],[$Uint8],false)},{prop:"Length",name:"Length",pkg:"",typ:$funcType([],[$Uint16],false)},{prop:"StreamID",name:"StreamID",pkg:"",typ:$funcType([],[$Uint32],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];T.methods=[{prop:"Consumed",name:"Consumed",pkg:"",typ:$funcType([],[$Uint32],false)},{prop:"Window",name:"Window",pkg:"",typ:$funcType([],[$Uint32],false)}];AM.methods=[{prop:"OpenStream",name:"OpenStream",pkg:"",typ:$funcType([],[AO,$error],false)},{prop:"Open",name:"Open",pkg:"",typ:$funcType([],[E.ReadWriteCloser,$error],false)},{prop:"AcceptStream",name:"AcceptStream",pkg:"",typ:$funcType([],[AO,$error],false)},{prop:"Accept",name:"Accept",pkg:"",typ:$funcType([],[E.ReadWriteCloser,$error],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"notifyBucket",name:"notifyBucket",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([],[],false)},{prop:"notifyReadError",name:"notifyReadError",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([$error],[],false)},{prop:"notifyWriteError",name:"notifyWriteError",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([$error],[],false)},{prop:"notifyProtoError",name:"notifyProtoError",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([$error],[],false)},{prop:"IsClosed",name:"IsClosed",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"NumStreams",name:"NumStreams",pkg:"",typ:$funcType([],[$Int],false)},{prop:"SetDeadline",name:"SetDeadline",pkg:"",typ:$funcType([G.Time],[$error],false)},{prop:"LocalAddr",name:"LocalAddr",pkg:"",typ:$funcType([],[I.Addr],false)},{prop:"RemoteAddr",name:"RemoteAddr",pkg:"",typ:$funcType([],[I.Addr],false)},{prop:"streamClosed",name:"streamClosed",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([$Uint32],[],false)},{prop:"returnTokens",name:"returnTokens",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([$Int],[],false)},{prop:"recvLoop",name:"recvLoop",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([],[],false)},{prop:"keepalive",name:"keepalive",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([],[],false)},{prop:"shaperLoop",name:"shaperLoop",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([],[],false)},{prop:"sendLoop",name:"sendLoop",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([],[],false)},{prop:"writeFrame",name:"writeFrame",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([Q],[$Int,$error],false)},{prop:"writeFrameInternal",name:"writeFrameInternal",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([Q,AY,$Uint64],[$Int,$error],false)}];AE.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)}];AT.methods=[{prop:"Push",name:"Push",pkg:"",typ:$funcType([$emptyInterface],[],false)},{prop:"Pop",name:"Pop",pkg:"",typ:$funcType([],[$emptyInterface],false)}];AO.methods=[{prop:"ID",name:"ID",pkg:"",typ:$funcType([],[$Uint32],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([AJ],[$Int,$error],false)},{prop:"tryRead",name:"tryRead",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([AJ],[$Int,$error],false)},{prop:"tryReadv2",name:"tryReadv2",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([AJ],[$Int,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([E.Writer],[$Int64,$error],false)},{prop:"writeTov2",name:"writeTov2",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([E.Writer],[$Int64,$error],false)},{prop:"sendWindowUpdate",name:"sendWindowUpdate",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([$Uint32],[$error],false)},{prop:"waitRead",name:"waitRead",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([],[$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([AJ],[$Int,$error],false)},{prop:"writeV2",name:"writeV2",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([AJ],[$Int,$error],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"GetDieCh",name:"GetDieCh",pkg:"",typ:$funcType([],[BD],false)},{prop:"SetReadDeadline",name:"SetReadDeadline",pkg:"",typ:$funcType([G.Time],[$error],false)},{prop:"SetWriteDeadline",name:"SetWriteDeadline",pkg:"",typ:$funcType([G.Time],[$error],false)},{prop:"SetDeadline",name:"SetDeadline",pkg:"",typ:$funcType([G.Time],[$error],false)},{prop:"sessionClose",name:"sessionClose",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([],[],false)},{prop:"LocalAddr",name:"LocalAddr",pkg:"",typ:$funcType([],[I.Addr],false)},{prop:"RemoteAddr",name:"RemoteAddr",pkg:"",typ:$funcType([],[I.Addr],false)},{prop:"pushBytes",name:"pushBytes",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([AJ],[$Int,$error],false)},{prop:"recycleTokens",name:"recycleTokens",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([],[$Int],false)},{prop:"notifyReadEvent",name:"notifyReadEvent",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([],[],false)},{prop:"update",name:"update",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([$Uint32,$Uint32],[],false)},{prop:"fin",name:"fin",pkg:"github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",typ:$funcType([],[],false)}];N.init("github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",[{prop:"buffers",name:"buffers",embedded:false,exported:false,typ:AI,tag:""}]);Q.init("github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",[{prop:"ver",name:"ver",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"cmd",name:"cmd",embedded:false,exported:false,typ:$Uint8,tag:""},{prop:"sid",name:"sid",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"data",name:"data",embedded:false,exported:false,typ:AJ,tag:""}]);S.init($Uint8,8);T.init($Uint8,8);U.init("",[{prop:"Version",name:"Version",embedded:false,exported:true,typ:$Int,tag:""},{prop:"KeepAliveDisabled",name:"KeepAliveDisabled",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"KeepAliveInterval",name:"KeepAliveInterval",embedded:false,exported:true,typ:G.Duration,tag:""},{prop:"KeepAliveTimeout",name:"KeepAliveTimeout",embedded:false,exported:true,typ:G.Duration,tag:""},{prop:"MaxFrameSize",name:"MaxFrameSize",embedded:false,exported:true,typ:$Int,tag:""},{prop:"MaxReceiveBuffer",name:"MaxReceiveBuffer",embedded:false,exported:true,typ:$Int,tag:""},{prop:"MaxStreamBuffer",name:"MaxStreamBuffer",embedded:false,exported:true,typ:$Int,tag:""}]);Z.init("github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",[{prop:"prio",name:"prio",embedded:false,exported:false,typ:$Uint64,tag:""},{prop:"frame",name:"frame",embedded:false,exported:false,typ:Q,tag:""},{prop:"result",name:"result",embedded:false,exported:false,typ:AX,tag:""}]);AA.init("github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",[{prop:"n",name:"n",embedded:false,exported:false,typ:$Int,tag:""},{prop:"err",name:"err",embedded:false,exported:false,typ:$error,tag:""}]);AB.init([{prop:"WriteBuffers",name:"WriteBuffers",pkg:"",typ:$funcType([AU],[$Int,$error],false)}]);AC.init("github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",[{prop:"conn",name:"conn",embedded:false,exported:false,typ:E.ReadWriteCloser,tag:""},{prop:"config",name:"config",embedded:false,exported:false,typ:AL,tag:""},{prop:"nextStreamID",name:"nextStreamID",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"nextStreamIDLock",name:"nextStreamIDLock",embedded:false,exported:false,typ:B.Mutex,tag:""},{prop:"bucket",name:"bucket",embedded:false,exported:false,typ:$Int32,tag:""},{prop:"bucketNotify",name:"bucketNotify",embedded:false,exported:false,typ:AZ,tag:""},{prop:"streams",name:"streams",embedded:false,exported:false,typ:BA,tag:""},{prop:"streamLock",name:"streamLock",embedded:false,exported:false,typ:B.Mutex,tag:""},{prop:"die",name:"die",embedded:false,exported:false,typ:AZ,tag:""},{prop:"dieOnce",name:"dieOnce",embedded:false,exported:false,typ:B.Once,tag:""},{prop:"socketReadError",name:"socketReadError",embedded:false,exported:false,typ:J.Value,tag:""},{prop:"socketWriteError",name:"socketWriteError",embedded:false,exported:false,typ:J.Value,tag:""},{prop:"chSocketReadError",name:"chSocketReadError",embedded:false,exported:false,typ:AZ,tag:""},{prop:"chSocketWriteError",name:"chSocketWriteError",embedded:false,exported:false,typ:AZ,tag:""},{prop:"socketReadErrorOnce",name:"socketReadErrorOnce",embedded:false,exported:false,typ:B.Once,tag:""},{prop:"socketWriteErrorOnce",name:"socketWriteErrorOnce",embedded:false,exported:false,typ:B.Once,tag:""},{prop:"protoError",name:"protoError",embedded:false,exported:false,typ:J.Value,tag:""},{prop:"chProtoError",name:"chProtoError",embedded:false,exported:false,typ:AZ,tag:""},{prop:"protoErrorOnce",name:"protoErrorOnce",embedded:false,exported:false,typ:B.Once,tag:""},{prop:"chAccepts",name:"chAccepts",embedded:false,exported:false,typ:BB,tag:""},{prop:"dataReady",name:"dataReady",embedded:false,exported:false,typ:$Int32,tag:""},{prop:"goAway",name:"goAway",embedded:false,exported:false,typ:$Int32,tag:""},{prop:"deadline",name:"deadline",embedded:false,exported:false,typ:J.Value,tag:""},{prop:"shaper",name:"shaper",embedded:false,exported:false,typ:BC,tag:""},{prop:"writes",name:"writes",embedded:false,exported:false,typ:BC,tag:""}]);AE.init(Z);AF.init("github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux",[{prop:"id",name:"id",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"sess",name:"sess",embedded:false,exported:false,typ:AM,tag:""},{prop:"buffers",name:"buffers",embedded:false,exported:false,typ:AU,tag:""},{prop:"heads",name:"heads",embedded:false,exported:false,typ:AU,tag:""},{prop:"bufferLock",name:"bufferLock",embedded:false,exported:false,typ:B.Mutex,tag:""},{prop:"frameSize",name:"frameSize",embedded:false,exported:false,typ:$Int,tag:""},{prop:"chReadEvent",name:"chReadEvent",embedded:false,exported:false,typ:AZ,tag:""},{prop:"die",name:"die",embedded:false,exported:false,typ:AZ,tag:""},{prop:"dieOnce",name:"dieOnce",embedded:false,exported:false,typ:B.Once,tag:""},{prop:"chFinEvent",name:"chFinEvent",embedded:false,exported:false,typ:AZ,tag:""},{prop:"finEventOnce",name:"finEventOnce",embedded:false,exported:false,typ:B.Once,tag:""},{prop:"readDeadline",name:"readDeadline",embedded:false,exported:false,typ:J.Value,tag:""},{prop:"writeDeadline",name:"writeDeadline",embedded:false,exported:false,typ:J.Value,tag:""},{prop:"numRead",name:"numRead",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"numWritten",name:"numWritten",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"incr",name:"incr",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"peerConsumed",name:"peerConsumed",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"peerWindow",name:"peerWindow",embedded:false,exported:false,typ:$Uint32,tag:""},{prop:"chUpdate",name:"chUpdate",embedded:false,exported:false,typ:AZ,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=H.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}K=AH.nil;L=$toNativeArray($kindUint8,[0,9,1,10,13,21,2,29,11,14,16,18,22,25,3,30,8,12,20,28,15,17,24,7,19,27,23,6,26,5,4,31]);$pkg.ErrInvalidProtocol=A.New("invalid protocol");$pkg.ErrConsumed=A.New("peer consumed more than sent");$pkg.ErrGoAway=A.New("stream id overflows, should start a new connection");$pkg.ErrTimeout=A.New("timeout");$pkg.ErrWouldBlock=A.New("operation would block on IO");M();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})(); -$packages["github.com/v2fly/BrowserBridge/bridge"]=(function(){var $pkg={},$init,A,C,B,D,E,F,G,I,J,H;A=$packages["fmt"];C=$packages["github.com/v2fly/BrowserBridge/proto"];B=$packages["github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket"];D=$packages["github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux"];E=$packages["io"];F=$packages["time"];G=$pkg.Settings=$newType(0,$kindStruct,"bridge.Settings",true,"github.com/v2fly/BrowserBridge/bridge",true,function(DialAddr_){this.$val=this;if(arguments.length===0){this.DialAddr="";return;}this.DialAddr=DialAddr_;});I=$sliceType($emptyInterface);J=$ptrType(D.Config);H=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];case 1:b=F.NewTimer(new F.Duration(0,1000000000));c=(function(a){return function $b(){var c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=B.Dial(a[0].DialAddr);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:g=A.Println(new I([f,new $String(a[0].DialAddr)]));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=-1;return;case 3:i=D.Client(e,J.nil);$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=h[0];f=h[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return;}case 6:k=[k];m=j.Accept();$s=8;case 8:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;k[0]=l[0];n=l[1];if(!($interfaceIsEqual(n,$ifaceNil))){$s=9;continue;}$s=10;continue;case 9:o=A.Println(new I([n]));$s=11;case 11:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;$s=-1;return;case 10:$go((function(a,k){return function $b(){var aa,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=C.ReadRequest(k[0]);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[1];if(!($interfaceIsEqual(r,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:t=A.Println(new I([r]));$s=4;case 4:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}t;$s=-1;return;case 3:v=B.Dial(s.Destination);$s=5;case 5:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=u[0];r=u[1];if(!($interfaceIsEqual(r,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:x=A.Println(new I([r]));$s=8;case 8:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;y=k[0].Close();$s=9;case 9:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}y;$s=-1;return;case 7:$go(E.Copy,[k[0],w]);z=E.Copy(w,k[0]);$s=10;case 10:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}z;aa=k[0].Close();$s=11;case 11:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}aa;$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(a,k),[]);$s=6;continue;case 7:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};})(a);$r=c();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=$recv(b.C);$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d[0];$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:H};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Bridge=H;G.init("",[{prop:"DialAddr",name:"DialAddr",embedded:false,exported:true,typ:$String,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})(); +$packages["github.com/v2fly/BrowserBridge/bridge"]=(function(){var $pkg={},$init,A,C,B,D,E,F,G,H,J,K,I;A=$packages["fmt"];C=$packages["github.com/v2fly/BrowserBridge/proto"];B=$packages["github.com/v2fly/BrowserBridge/vendor/github.com/gopherjs/websocket"];D=$packages["github.com/v2fly/BrowserBridge/vendor/github.com/xtaci/smux"];E=$packages["io"];F=$packages["net"];G=$packages["time"];H=$pkg.Settings=$newType(0,$kindStruct,"bridge.Settings",true,"github.com/v2fly/BrowserBridge/bridge",true,function(DialAddr_){this.$val=this;if(arguments.length===0){this.DialAddr="";return;}this.DialAddr=DialAddr_;});J=$sliceType($emptyInterface);K=$ptrType(D.Config);I=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];case 1:b=G.NewTimer(new G.Duration(0,1000000000));c=(function(a){return function $b(){var c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=B.Dial(a[0].DialAddr);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:g=A.Println(new J([f,new $String(a[0].DialAddr)]));$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=-1;return;case 3:i=D.Client(e,K.nil);$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=h[0];f=h[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=-1;return;}case 6:k=[k];m=j.Accept();$s=8;case 8:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;k[0]=l[0];n=l[1];if(!($interfaceIsEqual(n,$ifaceNil))){$s=9;continue;}$s=10;continue;case 9:o=A.Println(new J([n]));$s=11;case 11:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}o;$s=-1;return;case 10:$go((function(a,k){return function $b(){var aa,ab,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;aa=$f.aa;ab=$f.ab;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:p=[p];r=C.ReadRequest(k[0]);$s=1;case 1:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];p[0]=q[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:t=A.Println(new J([s]));$s=4;case 4:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}t;$s=-1;return;case 3:u=(function(a,k,p){return function $b(){var u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:u=B.Dial(p[0].Destination);$s=1;case 1:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}$s=-1;return u;}return;}if($f===undefined){$f={$blk:$b};}$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};})(a,k,p);if(!((p[0].ProtocolStringSize===0))){$s=5;continue;}$s=6;continue;case 5:u=(function(a,k,p){return function $b(){var v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:v=B.Dial2(p[0].Destination,p[0].ProtocolString);$s=1;case 1:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}$s=-1;return v;}return;}if($f===undefined){$f={$blk:$b};}$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};})(a,k,p);case 6:w=u();$s=7;case 7:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;x=v[0];s=v[1];if(!($interfaceIsEqual(s,$ifaceNil))){$s=8;continue;}$s=9;continue;case 8:y=A.Println(new J([s]));$s=10;case 10:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}y;z=k[0].Close();$s=11;case 11:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}z;$s=-1;return;case 9:$go(E.Copy,[k[0],x]);aa=E.Copy(x,k[0]);$s=12;case 12:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}aa;ab=k[0].Close();$s=13;case 13:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}ab;$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.aa=aa;$f.ab=ab;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};})(a,k),[]);$s=6;continue;case 7:$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};})(a);$r=c();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=$recv(b.C);$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d[0];$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:I};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Bridge=I;H.init("",[{prop:"DialAddr",name:"DialAddr",embedded:false,exported:true,typ:$String,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})(); $packages["log"]=(function(){var $pkg={},$init,A,E,B,C,D,F,G,Z,AA,AB,AC,AD,I,H,J,R;A=$packages["fmt"];E=$packages["github.com/gopherjs/gopherjs/nosync"];B=$packages["io"];C=$packages["os"];D=$packages["runtime"];F=$packages["time"];G=$pkg.Logger=$newType(0,$kindStruct,"log.Logger",true,"log",true,function(mu_,prefix_,flag_,out_,buf_){this.$val=this;if(arguments.length===0){this.mu=new E.Mutex.ptr(false);this.prefix="";this.flag=0;this.out=$ifaceNil;this.buf=Z.nil;return;}this.mu=mu_;this.prefix=prefix_;this.flag=flag_;this.out=out_;this.buf=buf_;});Z=$sliceType($Uint8);AA=$arrayType($Uint8,20);AB=$ptrType(Z);AC=$sliceType($emptyInterface);AD=$ptrType(G);H=function(a,b,c){var a,b,c;return new G.ptr(new E.Mutex.ptr(false),b,c,a,Z.nil);};$pkg.New=H;G.ptr.prototype.SetOutput=function(a){var a,b,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.out=a;}catch(err){$err=err;}finally{$callDeferred($deferred,$err);}};G.prototype.SetOutput=function(a){return this.$val.SetOutput(a);};J=function(a,b,c){var a,b,c,d,e,f,g;d=AA.zero();e=19;while(true){if(!(b>=10||c>1)){break;}c=c-(1)>>0;g=(f=b/10,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero"));((e<0||e>=d.length)?($throwRuntimeError("index out of range"),undefined):d[e]=((((48+b>>0)-($imul(g,10))>>0)<<24>>>24)));e=e-(1)>>0;b=g;}((e<0||e>=d.length)?($throwRuntimeError("index out of range"),undefined):d[e]=(((48+b>>0)<<24>>>24)));a.$set($appendSlice(a.$get(),$subslice(new Z(d),e)));};G.ptr.prototype.formatHeader=function(a,b,c,d){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;a.$set($appendSlice(a.$get(),e.prefix));if(!(((e.flag&7)===0))){$s=1;continue;}$s=2;continue;case 1:if(!(((e.flag&32)===0))){F.Time.copy(b,$clone(b,F.Time).UTC());}if(!(((e.flag&1)===0))){$s=3;continue;}$s=4;continue;case 3:g=$clone(b,F.Time).Date();$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];j=f[2];J(a,h,4);a.$set($append(a.$get(),47));J(a,((i>>0)),2);a.$set($append(a.$get(),47));J(a,j,2);a.$set($append(a.$get(),32));case 4:if(!(((e.flag&6)===0))){$s=6;continue;}$s=7;continue;case 6:l=$clone(b,F.Time).Clock();$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];o=k[2];J(a,m,2);a.$set($append(a.$get(),58));J(a,n,2);a.$set($append(a.$get(),58));J(a,o,2);if(!(((e.flag&4)===0))){a.$set($append(a.$get(),46));J(a,(p=$clone(b,F.Time).Nanosecond()/1000,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero")),6);}a.$set($append(a.$get(),32));case 7:case 2:if(!(((e.flag&24)===0))){if(!(((e.flag&16)===0))){q=c;r=c.length-1>>0;while(true){if(!(r>0)){break;}if(c.charCodeAt(r)===47){q=$substring(c,(r+1>>0));break;}r=r-(1)>>0;}c=q;}a.$set($appendSlice(a.$get(),c));a.$set($append(a.$get(),58));J(a,d,-1);a.$set($appendSlice(a.$get(),": "));}$s=-1;return;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.formatHeader};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.formatHeader=function(a,b,c,d){return this.$val.formatHeader(a,b,c,d);};G.ptr.prototype.Output=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);c=this;d=$clone(F.Now(),F.Time);e="";f=0;c.mu.Lock();$deferred.push([$methodVal(c.mu,"Unlock"),[]]);if(!(((c.flag&24)===0))){c.mu.Unlock();g=false;h=D.Caller(a);e=h[1];f=h[2];g=h[3];if(!g){e="???";f=0;}c.mu.Lock();}c.buf=$subslice(c.buf,0,0);$r=c.formatHeader((c.$ptr_buf||(c.$ptr_buf=new AB(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))),$clone(d,F.Time),e,f);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c.buf=$appendSlice(c.buf,b);if((b.length===0)||!((b.charCodeAt((b.length-1>>0))===10))){c.buf=$append(c.buf,10);}j=c.out.Write(c.buf);$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[1];$s=-1;return k;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:G.ptr.prototype.Output};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};G.prototype.Output=function(a,b){return this.$val.Output(a,b);};G.ptr.prototype.Printf=function(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Sprintf(a,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=c.Output(2,e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;$s=-1;return;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Printf};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Printf=function(a,b){return this.$val.Printf(a,b);};G.ptr.prototype.Print=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Sprint(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=b.Output(2,d);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;$s=-1;return;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Print};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Print=function(a){return this.$val.Print(a);};G.ptr.prototype.Println=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Sprintln(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=b.Output(2,d);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;$s=-1;return;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Println};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Println=function(a){return this.$val.Println(a);};G.ptr.prototype.Fatal=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Sprint(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=b.Output(2,d);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;C.Exit(1);$s=-1;return;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Fatal};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Fatal=function(a){return this.$val.Fatal(a);};G.ptr.prototype.Fatalf=function(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Sprintf(a,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=c.Output(2,e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;C.Exit(1);$s=-1;return;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Fatalf};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Fatalf=function(a,b){return this.$val.Fatalf(a,b);};G.ptr.prototype.Fatalln=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Sprintln(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=b.Output(2,d);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;C.Exit(1);$s=-1;return;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Fatalln};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Fatalln=function(a){return this.$val.Fatalln(a);};G.ptr.prototype.Panic=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Sprint(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=b.Output(2,d);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;$panic(new $String(d));$s=-1;return;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Panic};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Panic=function(a){return this.$val.Panic(a);};G.ptr.prototype.Panicf=function(a,b){var a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Sprintf(a,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=c.Output(2,e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;$panic(new $String(e));$s=-1;return;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Panicf};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Panicf=function(a,b){return this.$val.Panicf(a,b);};G.ptr.prototype.Panicln=function(a){var a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Sprintln(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=b.Output(2,d);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;$panic(new $String(d));$s=-1;return;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Panicln};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Panicln=function(a){return this.$val.Panicln(a);};G.ptr.prototype.Flags=function(){var a,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.flag;}catch(err){$err=err;return 0;}finally{$callDeferred($deferred,$err);}};G.prototype.Flags=function(){return this.$val.Flags();};G.ptr.prototype.SetFlags=function(a){var a,b,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.flag=a;}catch(err){$err=err;}finally{$callDeferred($deferred,$err);}};G.prototype.SetFlags=function(a){return this.$val.SetFlags(a);};G.ptr.prototype.Prefix=function(){var a,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.prefix;}catch(err){$err=err;return"";}finally{$callDeferred($deferred,$err);}};G.prototype.Prefix=function(){return this.$val.Prefix();};G.ptr.prototype.SetPrefix=function(a){var a,b,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.prefix=a;}catch(err){$err=err;}finally{$callDeferred($deferred,$err);}};G.prototype.SetPrefix=function(a){return this.$val.SetPrefix(a);};G.ptr.prototype.Writer=function(){var a,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.out;}catch(err){$err=err;return $ifaceNil;}finally{$callDeferred($deferred,$err);}};G.prototype.Writer=function(){return this.$val.Writer();};R=function(a){var a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=A.Sprintln(a);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;d=I.Output(2,c);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d;$s=-1;return;}return;}if($f===undefined){$f={$blk:R};}$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Println=R;AD.methods=[{prop:"SetOutput",name:"SetOutput",pkg:"",typ:$funcType([B.Writer],[],false)},{prop:"formatHeader",name:"formatHeader",pkg:"log",typ:$funcType([AB,F.Time,$String,$Int],[],false)},{prop:"Output",name:"Output",pkg:"",typ:$funcType([$Int,$String],[$error],false)},{prop:"Printf",name:"Printf",pkg:"",typ:$funcType([$String,AC],[],true)},{prop:"Print",name:"Print",pkg:"",typ:$funcType([AC],[],true)},{prop:"Println",name:"Println",pkg:"",typ:$funcType([AC],[],true)},{prop:"Fatal",name:"Fatal",pkg:"",typ:$funcType([AC],[],true)},{prop:"Fatalf",name:"Fatalf",pkg:"",typ:$funcType([$String,AC],[],true)},{prop:"Fatalln",name:"Fatalln",pkg:"",typ:$funcType([AC],[],true)},{prop:"Panic",name:"Panic",pkg:"",typ:$funcType([AC],[],true)},{prop:"Panicf",name:"Panicf",pkg:"",typ:$funcType([$String,AC],[],true)},{prop:"Panicln",name:"Panicln",pkg:"",typ:$funcType([AC],[],true)},{prop:"Flags",name:"Flags",pkg:"",typ:$funcType([],[$Int],false)},{prop:"SetFlags",name:"SetFlags",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Prefix",name:"Prefix",pkg:"",typ:$funcType([],[$String],false)},{prop:"SetPrefix",name:"SetPrefix",pkg:"",typ:$funcType([$String],[],false)},{prop:"Writer",name:"Writer",pkg:"",typ:$funcType([],[B.Writer],false)}];G.init("log",[{prop:"mu",name:"mu",embedded:false,exported:false,typ:E.Mutex,tag:""},{prop:"prefix",name:"prefix",embedded:false,exported:false,typ:$String,tag:""},{prop:"flag",name:"flag",embedded:false,exported:false,typ:$Int,tag:""},{prop:"out",name:"out",embedded:false,exported:false,typ:B.Writer,tag:""},{prop:"buf",name:"buf",embedded:false,exported:false,typ:Z,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}I=H(C.Stderr,"",3);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})(); $packages["github.com/v2fly/BrowserBridge/bridge/bridgejs"]=(function(){var $pkg={},$init,A,B,C,D,E,G,F;A=$packages["fmt"];B=$packages["github.com/gopherjs/gopherjs/js"];C=$packages["github.com/v2fly/BrowserBridge/bridge"];D=$packages["log"];E=$packages["net/url"];G=$sliceType($emptyInterface);F=function(){var a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=A.Println(new G([new $String("V3")]));$s=1;case 1:if($c){$c=false;a=a.$blk();}if(a&&a.$blk!==undefined){break s;}a;$go((function $b(){var b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$internalize($global.window.location.href,$String);d=E.Parse(b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(!($interfaceIsEqual(f,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:$r=D.Println(new G([f]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:g=e.Host;h=A.Sprintf("ws://%v/link",new G([new $String(g)]));$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$r=D.Println(new G([new $String(h)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=A.Sprintf("ws://%v/link",new G([new $String(g)]));$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$r=C.Bridge(new C.Settings.ptr(i));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$global.location.reload();$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;}),[]);$s=-1;return;}return;}if($f===undefined){$f={$blk:F};}$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if($pkg===$mainPkg){$s=6;continue;}$s=7;continue;case 6:$r=F();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$mainFinished=true;case 7:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})(); $synthesizeMethods(); From fd203a2b5422b200b7277df9d6c0ae42b32264e8 Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sat, 1 May 2021 16:07:03 +0100 Subject: [PATCH 9/9] debug issue with browser forwarder http header name checking --- app/browserforwarder/forwarder.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/browserforwarder/forwarder.go b/app/browserforwarder/forwarder.go index 6c947a35a..b1e67c7b4 100644 --- a/app/browserforwarder/forwarder.go +++ b/app/browserforwarder/forwarder.go @@ -48,7 +48,7 @@ func (f *Forwarder) DialWebsocket(url string, header http.Header) (io.ReadWriteC protocolHeaderValue := "" unsupportedHeader := false for k, v := range header { - if k == "Sec-WebSocket-Protocol" { + if k == "Sec-Websocket-Protocol" { protocolHeader = true protocolHeaderValue = v[0] } else {