commit df3b7ae44135c377700d6dbce06167a52a6356a4
parent f959775d4c2a7924868f8afef3c97b981eda9229
Author: Jack Mordaunt <jackmordaunt@gmail.com>
Date: Sat, 30 Jan 2021 17:39:00 +0800
chore: upgrade deps
Diffstat:
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=