kanban

Kanban client in Gio
Log | Files | Refs | README | LICENSE

commit df3b7ae44135c377700d6dbce06167a52a6356a4
parent f959775d4c2a7924868f8afef3c97b981eda9229
Author: Jack Mordaunt <jackmordaunt@gmail.com>
Date:   Sat, 30 Jan 2021 17:39:00 +0800

chore: upgrade deps

Diffstat:
Mcmd/kanban/layout.go | 6+++---
Mcmd/kanban/main.go | 78++++++++++++++++++++++++++++++++++++++----------------------------------------
Mcmd/kanban/widget.go | 10+++++-----
Mgo.mod | 11++++++-----
Mgo.sum | 37++++++++++++++++++++++---------------
5 files changed, 74 insertions(+), 68 deletions(-)

diff --git a/cmd/kanban/layout.go b/cmd/kanban/layout.go @@ -19,7 +19,7 @@ func (c Card) Layout(gtx C, th *material.Theme, w layout.Widget) D { gtx, layout.Expanded(func(gtx C) D { return Rect{ - Color: color.RGBA{R: 255, G: 255, B: 255, A: 255}, + Color: color.NRGBA{R: 255, G: 255, B: 255, A: 255}, Size: layout.FPt(gtx.Constraints.Min), Radii: 4, }.Layout(gtx) @@ -35,7 +35,7 @@ func (c Card) Layout(gtx C, th *material.Theme, w layout.Widget) D { gtx, layout.Expanded(func(gtx C) D { return Rect{ - Color: color.RGBA{A: 100}, + Color: color.NRGBA{A: 100}, Size: f32.Point{ X: float32(gtx.Constraints.Max.X), Y: float32(gtx.Constraints.Min.Y), @@ -66,7 +66,7 @@ func Modal(gtx C, w layout.Widget) D { layout.Stacked(func(gtx C) D { return Rect{ Size: layout.FPt(gtx.Constraints.Max), - Color: color.RGBA{A: 200}, + Color: color.NRGBA{A: 200}, }.Layout(gtx) }), layout.Stacked(func(gtx C) D { diff --git a/cmd/kanban/main.go b/cmd/kanban/main.go @@ -20,13 +20,13 @@ import ( "gioui.org/widget" "gioui.org/widget/material" "git.sr.ht/~jackmordaunt/kanban/icons" - "git.sr.ht/~whereswaldon/materials" "gioui.org/app" "gioui.org/io/key" "gioui.org/io/system" "gioui.org/layout" "gioui.org/op" + "gioui.org/x/component" ) func main() { @@ -71,22 +71,22 @@ func main() { Panels: []Panel{ { Label: "Todo", - Color: color.RGBA{R: 0x91, G: 0x81, B: 0x8a, A: 220}, + Color: color.NRGBA{R: 0x91, G: 0x81, B: 0x8a, A: 220}, Thickness: unit.Dp(50), }, { Label: "In Progress", - Color: color.RGBA{R: 0, G: 100, B: 200, A: 220}, + Color: color.NRGBA{R: 0, G: 100, B: 200, A: 220}, Thickness: unit.Dp(50), }, { Label: "Testing", - Color: color.RGBA{R: 200, G: 100, B: 0, A: 220}, + Color: color.NRGBA{R: 200, G: 100, B: 0, A: 220}, Thickness: unit.Dp(50), }, { Label: "Done", - Color: color.RGBA{R: 50, G: 200, B: 100, A: 220}, + Color: color.NRGBA{R: 50, G: 200, B: 100, A: 220}, Thickness: unit.Dp(50), }, }, @@ -136,8 +136,6 @@ func (ui *UI) Loop() error { switch event := (event).(type) { case system.DestroyEvent: return event.Err - case system.ClipboardEvent: - fmt.Printf("clipboard: %v\n", event.Text) case system.FrameEvent: gtx := layout.NewContext(&ops, event) ui.Update(gtx) @@ -263,6 +261,8 @@ func (ui *UI) Layout(gtx C) D { return layout.Flex{Axis: layout.Horizontal}.Layout( gtx, layout.Rigid(func(gtx C) D { + // TODO: render "active" destination in rail. + // TODO: model project with data primitive. gtx.Constraints.Min.Y = gtx.Constraints.Max.Y gtx.Constraints.Max.X = gtx.Px(unit.Dp(80)) gtx.Constraints.Min.X = 0 @@ -309,7 +309,7 @@ func (ui *UI) Layout(gtx C) D { t.Stage = stage.Name if ui.FocusedTicket.ID == t.ID { return widget.Border{ - Color: color.RGBA{B: 200, A: 200}, + Color: color.NRGBA{B: 200, A: 200}, Width: unit.Dp(2), }.Layout(gtx, func(gtx C) D { return t.Layout(gtx, ui.Th) @@ -475,10 +475,10 @@ func (ui *UI) DeleteTicket(t kanban.Ticket) { type TicketForm struct { Stage string Data kanban.Ticket - Title materials.TextField - Category materials.TextField - Summary materials.TextField - Details materials.TextField + Title component.TextField + Category component.TextField + Summary component.TextField + Details component.TextField Submit widget.Clickable Cancel widget.Clickable } @@ -538,8 +538,8 @@ func (form *TicketForm) Layout(gtx C, th *material.Theme, stage string) D { }), layout.Rigid(func(gtx C) D { btn := material.Button(th, &form.Cancel, "Cancel") - btn.Color = th.Color.Primary - btn.Background = color.RGBA{} + btn.Color = th.Bg + btn.Background = color.NRGBA{} return btn.Layout(gtx) }), layout.Rigid(func(gtx C) D { @@ -589,8 +589,8 @@ func (d *DeleteDialog) Layout(gtx C, th *material.Theme) D { }), layout.Rigid(func(gtx C) D { btn := material.Button(th, &d.Cancel, "Cancel") - btn.Color = th.Color.Primary - btn.Background = color.RGBA{} + btn.Color = th.Bg + btn.Background = color.NRGBA{} return btn.Layout(gtx) }), layout.Rigid(func(gtx C) D { @@ -598,7 +598,7 @@ func (d *DeleteDialog) Layout(gtx C, th *material.Theme) D { }), layout.Rigid(func(gtx C) D { btn := material.Button(th, &d.Ok, "Delete") - btn.Background = color.RGBA{R: 200, A: 255} + btn.Background = color.NRGBA{R: 200, A: 255} return btn.Layout(gtx) }), ) @@ -612,7 +612,7 @@ func (d *DeleteDialog) Layout(gtx C, th *material.Theme) D { // Has a title and action bar. type Panel struct { Label string - Color color.RGBA + Color color.NRGBA Thickness unit.Value CreateTicket widget.Clickable @@ -621,7 +621,7 @@ type Panel struct { func (p *Panel) Layout(gtx C, th *material.Theme, tickets ...layout.ListElement) D { return widget.Border{ - Color: color.RGBA{A: 200}, + Color: color.NRGBA{A: 200}, Width: unit.Dp(0.5), }.Layout(gtx, func(gtx C) D { return layout.Flex{ @@ -663,8 +663,8 @@ func (p *Panel) Layout(gtx C, th *material.Theme, tickets ...layout.ListElement) WithIcon(icons.ContentAdd), WithSize(unit.Dp(15)), WithInset(layout.UniformInset(unit.Dp(6))), - WithBgColor(color.RGBA{}), - WithIconColor(th.Color.Text), + WithBgColor(color.NRGBA{}), + WithIconColor(th.Fg), ).Layout(gtx) }), ) @@ -677,7 +677,7 @@ func (p *Panel) Layout(gtx C, th *material.Theme, tickets ...layout.ListElement) gtx, layout.Expanded(func(gtx C) D { return Rect{ - Color: color.RGBA{R: 240, G: 240, B: 240, A: 255}, + Color: color.NRGBA{R: 240, G: 240, B: 240, A: 255}, Size: layout.FPt(gtx.Constraints.Max), }.Layout(gtx) }), @@ -719,13 +719,13 @@ type Ticket struct { func (t *Ticket) Layout(gtx C, th *material.Theme) D { var ( barThickness = unit.Dp(25) - sideBarColor = color.RGBA{R: 50, G: 50, B: 50, A: 255} - bottomBarColor = color.RGBA{R: 220, G: 220, B: 220, A: 255} + sideBarColor = color.NRGBA{R: 50, G: 50, B: 50, A: 255} + bottomBarColor = color.NRGBA{R: 220, G: 220, B: 220, A: 255} minContentSize = gtx.Px(unit.Dp(150)) ) return widget.Border{ Width: unit.Dp(0.5), - Color: color.RGBA{A: 200}, + Color: color.NRGBA{A: 200}, }.Layout(gtx, func(gtx C) D { dims := layout.Inset{ Left: unit.Dp(25), @@ -782,9 +782,7 @@ func (t *Ticket) content(gtx C, th *material.Theme) D { return layout.Inset{ Top: unit.Dp(2), }.Layout(gtx, func(gtx C) D { - th := *th - th.Color.Text = materials.AlphaMultiply(th.Color.Text, 200) - return material.Label(&th, unit.Dp(14), t.Category).Layout(gtx) + return material.Label(th, unit.Dp(14), t.Category).Layout(gtx) }) }), layout.Rigid(func(gtx C) D { @@ -799,7 +797,7 @@ func (t *Ticket) content(gtx C, th *material.Theme) D { gtx, layout.Stacked(func(gtx C) D { return Rect{ - Color: color.RGBA{R: 255, G: 255, B: 255, A: 255}, + Color: color.NRGBA{R: 255, G: 255, B: 255, A: 255}, Size: layout.FPt(image.Point{ X: gtx.Constraints.Max.X, Y: dims.Size.Y, @@ -815,7 +813,7 @@ func (t *Ticket) content(gtx C, th *material.Theme) D { return dims } -func (t *Ticket) bottomBar(gtx C, th *material.Theme, sz image.Point, c color.RGBA) D { +func (t *Ticket) bottomBar(gtx C, th *material.Theme, sz image.Point, c color.NRGBA) D { return layout.Stack{}.Layout( gtx, layout.Expanded(func(gtx C) D { @@ -853,7 +851,7 @@ func (t *Ticket) bottomBar(gtx C, th *material.Theme, sz image.Point, c color.RG WithIcon(icons.BackIcon), WithSize(unit.Dp(12)), WithInset(layout.UniformInset(unit.Dp(6))), - WithIconColor(color.RGBA{R: 0, G: 0, B: 0, A: 255}), + WithIconColor(color.NRGBA{R: 0, G: 0, B: 0, A: 255}), WithBgColor(c), ).Layout(gtx) }), @@ -863,7 +861,7 @@ func (t *Ticket) bottomBar(gtx C, th *material.Theme, sz image.Point, c color.RG WithIcon(icons.ForwardIcon), WithSize(unit.Dp(12)), WithInset(layout.UniformInset(unit.Dp(6))), - WithIconColor(color.RGBA{R: 0, G: 0, B: 0, A: 255}), + WithIconColor(color.NRGBA{R: 0, G: 0, B: 0, A: 255}), WithBgColor(c), ).Layout(gtx) }), @@ -872,7 +870,7 @@ func (t *Ticket) bottomBar(gtx C, th *material.Theme, sz image.Point, c color.RG ) } -func (t *Ticket) sideBar(gtx C, sz image.Point, c color.RGBA) D { +func (t *Ticket) sideBar(gtx C, sz image.Point, c color.NRGBA) D { return layout.Stack{}.Layout( gtx, layout.Stacked(func(gtx C) D { @@ -894,7 +892,7 @@ func (t *Ticket) sideBar(gtx C, sz image.Point, c color.RGBA) D { WithIcon(icons.ContentEdit), WithSize(unit.Dp(16)), WithInset(layout.UniformInset(unit.Dp(2))), - WithIconColor(color.RGBA{R: 255, G: 255, B: 255, A: 255}), + WithIconColor(color.NRGBA{R: 255, G: 255, B: 255, A: 255}), WithBgColor(c), ).Layout(gtx) }), @@ -905,7 +903,7 @@ func (t *Ticket) sideBar(gtx C, sz image.Point, c color.RGBA) D { WithIcon(icons.ContentDelete), WithSize(unit.Dp(16)), WithInset(layout.UniformInset(unit.Dp(2))), - WithIconColor(color.RGBA{R: 255, G: 255, B: 255, A: 255}), + WithIconColor(color.NRGBA{R: 255, G: 255, B: 255, A: 255}), WithBgColor(c), ).Layout(gtx) }) @@ -951,8 +949,8 @@ func (t *TicketDetails) Layout(gtx C, th *material.Theme) D { }), layout.Rigid(func(gtx C) D { btn := material.Button(th, &t.Cancel, "Cancel") - btn.Color = th.Color.Primary - btn.Background = color.RGBA{} + btn.Color = th.Fg + btn.Background = color.NRGBA{} return btn.Layout(gtx) }), layout.Rigid(func(gtx C) D { @@ -969,7 +967,7 @@ func (t *TicketDetails) Layout(gtx C, th *material.Theme) D { // ProjectForm renders a form for manipulating projects. type ProjectForm struct { - Name materials.TextField + Name component.TextField Submit widget.Clickable Cancel widget.Clickable } @@ -996,8 +994,8 @@ func (form *ProjectForm) Layout(gtx C, th *material.Theme) D { }), layout.Rigid(func(gtx C) D { btn := material.Button(th, &form.Cancel, "Cancel") - btn.Color = th.Color.Primary - btn.Background = color.RGBA{} + btn.Color = th.Fg + btn.Background = color.NRGBA{} return btn.Layout(gtx) }), layout.Rigid(func(gtx C) D { diff --git a/cmd/kanban/widget.go b/cmd/kanban/widget.go @@ -18,7 +18,7 @@ import ( // Dimensions specified by size and a corner radius (on all corners) // specified by radii. type Rect struct { - Color color.RGBA + Color color.NRGBA Size f32.Point Radii float32 } @@ -73,14 +73,14 @@ func WithSize(sz unit.Value) ButtonOption { } } -func WithIconColor(c color.RGBA) ButtonOption { +func WithIconColor(c color.NRGBA) ButtonOption { return func(btn *ButtonStyle) { btn.IconButtonStyle.Color = c btn.ButtonStyle.Color = c } } -func WithBgColor(c color.RGBA) ButtonOption { +func WithBgColor(c color.NRGBA) ButtonOption { return func(btn *ButtonStyle) { btn.IconButtonStyle.Background = c btn.ButtonStyle.Background = c @@ -152,7 +152,7 @@ func (r *Rail) Layout(gtx C, action layout.Widget, items ...RailChild) D { layout.Rigid(func(gtx C) D { return layout.UniformInset(unit.Dp(5)).Layout(gtx, func(gtx C) D { return Div{ - Color: color.RGBA{R: 220, B: 220, G: 220, A: 255}, + Color: color.NRGBA{R: 220, B: 220, G: 220, A: 255}, Length: unit.Px(float32(gtx.Constraints.Max.X)), Thickness: unit.Dp(1), Axis: layout.Horizontal, @@ -178,7 +178,7 @@ type Div struct { Thickness unit.Value Length unit.Value Axis layout.Axis - Color color.RGBA + Color color.NRGBA } func (d Div) Layout(gtx C) D { diff --git a/go.mod b/go.mod @@ -3,14 +3,15 @@ module git.sr.ht/~jackmordaunt/kanban go 1.15 require ( - gioui.org v0.0.0-20201112145235-3c739323cb4f - git.sr.ht/~whereswaldon/materials v0.0.0-20201111125311-690e8da25ce3 + gioui.org v0.0.0-20210127212131-b698c8ed8229 + gioui.org/x v0.0.0-20210120222453-b55819bc712b github.com/asdine/storm/v3 v3.2.1 github.com/jackmordaunt/icns v1.0.0 github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 // indirect github.com/pkg/errors v0.9.1 // indirect go.etcd.io/bbolt v1.3.5 // indirect - golang.org/x/exp v0.0.0-20201008143054-e3b2a7f2fdc7 - golang.org/x/sys v0.0.0-20201112073958-5cba982894dd // indirect - golang.org/x/text v0.3.4 // indirect + golang.org/x/exp v0.0.0-20210126221216-84987778548c + golang.org/x/image v0.0.0-20201208152932-35266b937fa6 // indirect + golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c // indirect + golang.org/x/text v0.3.5 // indirect ) diff --git a/go.sum b/go.sum @@ -1,13 +1,10 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -gioui.org v0.0.0-20201106195654-dbc0796d0207/go.mod h1:Y+uS7hHMvku1Q+ooaoq6fYD5B2LGoT8JtFgvmYmRzTw= -gioui.org v0.0.0-20201110154114-ae256b5be812 h1:fmETJJuKWcrg5pYKSX/MkwNXv3MBF7LsjBPa4qyO1Cw= -gioui.org v0.0.0-20201110154114-ae256b5be812/go.mod h1:Y+uS7hHMvku1Q+ooaoq6fYD5B2LGoT8JtFgvmYmRzTw= -gioui.org v0.0.0-20201112145235-3c739323cb4f h1:O1WtE27z2GqOJjE0Dl6k2qqts63tqoSwwoWyE7K3RLM= -gioui.org v0.0.0-20201112145235-3c739323cb4f/go.mod h1:Y+uS7hHMvku1Q+ooaoq6fYD5B2LGoT8JtFgvmYmRzTw= -git.sr.ht/~whereswaldon/materials v0.0.0-20201108152851-4af89701ceb6 h1:R/9jzikSdVeHbeJx5WU3e4lNRHzxLt2HduMWLa78m5k= -git.sr.ht/~whereswaldon/materials v0.0.0-20201108152851-4af89701ceb6/go.mod h1:TayKd2ixEIPSq7ZzJIb1hcIsV1FapB43GCSx8GnLyUg= -git.sr.ht/~whereswaldon/materials v0.0.0-20201111125311-690e8da25ce3 h1:885LotAnlGb2X4ZBmaqbkmVpW+KkQJEALwmHcm4WHo8= -git.sr.ht/~whereswaldon/materials v0.0.0-20201111125311-690e8da25ce3/go.mod h1:C1KEwj50dyQ+TpIaomIgBqhnSbbB34UqeFvuCOuddro= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20201218220906-28db891af037/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +gioui.org v0.0.0-20210116085804-99bfa6a33cdf/go.mod h1:Y+uS7hHMvku1Q+ooaoq6fYD5B2LGoT8JtFgvmYmRzTw= +gioui.org v0.0.0-20210127212131-b698c8ed8229 h1:K60CRdV3HIRwujzfukYpS8DtcwhKljeaTa7BGjGNkmA= +gioui.org v0.0.0-20210127212131-b698c8ed8229/go.mod h1:Y+uS7hHMvku1Q+ooaoq6fYD5B2LGoT8JtFgvmYmRzTw= +gioui.org/x v0.0.0-20210120222453-b55819bc712b h1:C7/1fHOBkcypkgWopz8Mf+eDJggTWQWlL315KjhDVDQ= +gioui.org/x v0.0.0-20210120222453-b55819bc712b/go.mod h1:+CDNGkslHDIe1EK2Q4E0G98qRllCaQrL6qtjBhBjSAo= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DataDog/zstd v1.4.1 h1:3oxKN3wbHibqx897utPC2LTQU4J+IHWWJO+glkAkpFM= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= @@ -49,20 +46,28 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3 h1:n9HxLrNxWWtEb1cA950nuEEj3QnKbtsCJ6KjcgisNUs= golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= -golang.org/x/exp v0.0.0-20201008143054-e3b2a7f2fdc7 h1:2/QncOxxpPAdiH+E00abYw/SaQG353gltz79Nl1zrYE= -golang.org/x/exp v0.0.0-20201008143054-e3b2a7f2fdc7/go.mod h1:1phAWC201xIgDyaFpmDeZkgf70Q4Pd/CNqfRtVPtxNw= +golang.org/x/exp v0.0.0-20201229011636-eab1b5eb1a03/go.mod h1:I6l2HNBLBZEcrOoCpyKLdY2lHoRZ8lI4x60KMCQDft4= +golang.org/x/exp v0.0.0-20210126221216-84987778548c h1:sWZb7hc7UoMhB5/VYk5+nsHuiHq8J5l0osfBYs9C3gw= +golang.org/x/exp v0.0.0-20210126221216-84987778548c/go.mod h1:I6l2HNBLBZEcrOoCpyKLdY2lHoRZ8lI4x60KMCQDft4= 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/image v0.0.0-20200618115811-c13761719519 h1:1e2ufUJNM3lCHEY5jIgac/7UTjd6cgJNdatjPdFWf34= golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20200927104501-e162460cd6b5 h1:QelT11PB4FXiDEXucrfNckHoFxwt8USGY1ajP1ZF5lM= golang.org/x/image v0.0.0-20200927104501-e162460cd6b5/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20201208152932-35266b937fa6 h1:nfeHNc1nAqecKCy2FCy4HY+soOOe5sDLJ/gZLbx6GYI= +golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +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/mobile v0.0.0-20201217150744-e6ae53a27f4f/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.1-0.20200828183125-ce943fd02449/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/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= @@ -77,19 +82,21 @@ golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9 h1:1/DFK4b7JH8DmkqhUk48onnSf golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 h1:LfCXLvNmTYH9kEmVgqbnsWfruoXZIrh4YBgqVHtDvw0= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201110211018-35f3e6cf4a65 h1:Qo9oJ566/Sq7N4hrGftVXs8GI2CXBCuOd4S2wHE/e0M= -golang.org/x/sys v0.0.0-20201110211018-35f3e6cf4a65/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201112073958-5cba982894dd h1:5CtCZbICpIOFdgO940moixOPjc0178IU44m4EjOO5IY= -golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c h1:VwygUrnw9jn88c4u8GD3rZQbqrP/tgas88tPUbBxQrk= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/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-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= 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=