From 92c42620f4df3009287b966604efff30617e7ef2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Mon, 5 Oct 2026 14:45:49 -0400 Subject: [PATCH] wip-devtools --- alert_list.go | 128 ++++++++++++++++++ alert_list_test.go | 83 ++++++++++++ devtools_parts.go | 30 ++++ messages_devtools.go | 12 ++ stat_card.go | 106 +++++++++++++++ stat_card_test.go | 73 ++++++++++ testdata/snapshots/darwin/alert_list-dark.png | Bin 0 -> 25065 bytes .../snapshots/darwin/alert_list-light.png | Bin 0 -> 24423 bytes testdata/snapshots/darwin/stat_card-dark.png | Bin 0 -> 17500 bytes testdata/snapshots/darwin/stat_card-light.png | Bin 0 -> 17069 bytes 10 files changed, 432 insertions(+) create mode 100644 alert_list.go create mode 100644 alert_list_test.go create mode 100644 devtools_parts.go create mode 100644 stat_card.go create mode 100644 stat_card_test.go create mode 100644 testdata/snapshots/darwin/alert_list-dark.png create mode 100644 testdata/snapshots/darwin/alert_list-light.png create mode 100644 testdata/snapshots/darwin/stat_card-dark.png create mode 100644 testdata/snapshots/darwin/stat_card-light.png diff --git a/alert_list.go b/alert_list.go new file mode 100644 index 0000000..97c92d6 --- /dev/null +++ b/alert_list.go @@ -0,0 +1,128 @@ +package mujica + +import ( + "fmt" + "log/slog" + "time" + + "github.com/egoist/mygo/ui" + + "mujicaui/theme" +) + +// AlertLevel is an alert's level. The zero value is AlertInfo. +type AlertLevel int + +const ( + AlertInfo AlertLevel = iota + AlertWarning + AlertCritical +) + +// AlertItem is one firing alert; the caller owns it. +type AlertItem struct { + ID string + Title string + Level AlertLevel + Source string + At time.Time + Acked bool + Silence time.Time // silenced until; zero is not silenced +} + +// AlertListOptions configure an AlertList. +type AlertListOptions struct { + // MaxHeight caps the scrolling list; zero means 360. + MaxHeight float32 + Disabled bool +} + +// AlertListResult reports this frame's request. +type AlertListResult struct { + Element *ui.Element + // Ack and Silence are the IDs to acknowledge or silence for an hour, else "". + Ack, Silence string +} + +// AlertList lists alerts by level, source and time with acknowledge and silence. +func AlertList(c *ui.Context, alerts []AlertItem, opts AlertListOptions) AlertListResult { + if opts.MaxHeight < 0 { + panic("mujica: AlertList MaxHeight is negative") + } + seen := map[string]bool{} + for i, a := range alerts { + if a.ID == "" || a.Title == "" || seen[a.ID] || a.Level < AlertInfo || a.Level > AlertCritical { + panic(fmt.Sprintf("mujica: AlertList alert %d needs a unique ID, a Title and a known Level", i)) + } + seen[a.ID] = true + } + maxH := opts.MaxHeight + if maxH == 0 { + maxH = 360 + } + k := Tokens(c) + var r AlertListResult + r.Element = ui.Column(c).Shrink(0).Disabled(opts.Disabled) + locked := r.Element.IsDisabled() + r.Element.Children(func() { + if len(alerts) == 0 { + agentCaption(c, msg(c, "alert_list.empty")) + return + } + agentRows(c, len(alerts), func(i int) { + ack, silence := alertRow(c, alerts[i], locked) + if ack && !locked { + r.Ack = alerts[i].ID + } + if silence && !locked { + r.Silence = alerts[i].ID + } + }).Shrink(1).MaxHeight(maxH).Background(k.Surface).Border(theme.BorderWidth, k.Border). + Radius(theme.CardRadius).Dividers(theme.BorderWidth, k.Border) + }) + if r.Ack != "" || r.Silence != "" { + slog.Debug("mujica: alert_list action", "ack", r.Ack, "silence", r.Silence) + } + return r +} + +// alertRow shows one alert and reports its acknowledge and silence presses. +func alertRow(c *ui.Context, a AlertItem, locked bool) (ack, silence bool) { + k := Tokens(c) + d := Density(c) + u := d.Unit() + sev := [...]Severity{SeverityInfo, SeverityWarning, SeverityError}[a.Level] + word := msg(c, [...]string{"alert_list.info", "alert_list.warning", "alert_list.critical"}[a.Level]) + silenced := a.Silence.After(c.Now()) + row := ui.Row(c).Key(a.ID).Gap(u * 3).AlignItems(ui.Center).MinHeight(d.ControlHeight() + u*2).Padding(u*2, u*3). + Label(word + ", " + a.Title) + if tone, _ := severityLook(k, sev); a.Level == AlertCritical && !a.Acked { + row.DrawOver(func(p *ui.Painter, r ui.Rect) { p.Fill(ui.Rect{X: r.X, Y: r.Y, W: 3, H: r.H}, tone, 0) }) + } + row.Children(func() { + ui.Box(c).Width(96).Shrink(0).Children(func() { devtoolsSeverity(c, sev, word) }) + ui.Column(c).Grow(1).Shrink(1).Gap(u / 2).Children(func() { + t := ui.Text(c, a.Title).FontWeight(600) + if a.Acked || silenced { + t.TextColor(k.TextMuted) + } + line := a.Source + if !a.At.IsZero() { + line += " · " + devtoolsAgo(c, a.At) + } + agentCaption(c, line) + }) + switch { + case silenced: + agentCaption(c, fmt.Sprintf(msg(c, "alert_list.silenced"), a.Silence.Format("15:04"))) + case a.Acked: + agentCaption(c, msg(c, "alert_list.acked")) + default: + ack = Button(c, msg(c, "alert_list.ack"), ButtonOptions{Variant: Secondary, Disabled: locked}).Clicked() + } + if !silenced { + silence = agentToggle(c, msg(c, "alert_list.silence"), "bell", locked) + } + }) + return ack, silence +} diff --git a/alert_list_test.go b/alert_list_test.go new file mode 100644 index 0000000..156f7e0 --- /dev/null +++ b/alert_list_test.go @@ -0,0 +1,83 @@ +package mujica + +import ( + "fmt" + "testing" + "time" + + "github.com/egoist/mygo/ui" +) + +func alertSample() []AlertItem { + now := time.Now() + return []AlertItem{ + {ID: "a", Title: "Disk 92% full", Level: AlertCritical, Source: "db-1", At: now.Add(-5 * time.Minute)}, + {ID: "b", Title: "Latency above 500 ms", Level: AlertWarning, Source: "api", At: now.Add(-time.Hour), Acked: true}, + {ID: "c", Title: "Deploy finished", Level: AlertInfo, Source: "ci", Silence: now.Add(time.Hour)}, + } +} + +func alertTester(alerts []AlertItem, opts AlertListOptions, got *[]AlertListResult) *ui.Tester { + return ui.NewTester(func(c *ui.Context) { + Use(c, Settings{}) + r := AlertList(c, alerts, opts) + if r.Ack != "" || r.Silence != "" { + *got = append(*got, r) + } + }, 640, 400) +} + +func TestAlertListLevelsAndActions(t *testing.T) { + var got []AlertListResult + tt := alertTester(alertSample(), AlertListOptions{}, &got) + for _, s := range []string{"Critical", "Warning", "Info", "db-1 · 5 m 00 s ago", "Acknowledged"} { + if !tt.HasText(s) { + t.Fatalf("missing %q in %q", s, tt.Texts()) + } + } + _ = tt.Click("Acknowledge") + silences, _ := tt.Find("Silence 1 h") + tt.ClickAt(silences.X+4, silences.Y+4) + if len(got) != 2 || got[0].Ack != "a" || got[1].Silence != "a" { + t.Fatalf("actions %+v", got) + } + tt = alertTester(alertSample(), AlertListOptions{}, &got) + tt.Key(0, ui.KeyTab) + tt.Key(0, ui.KeyEnter) + if len(got) != 3 || got[2].Ack != "a" { + t.Fatalf("keyboard ack: %+v", got) + } +} + +func TestAlertListDisabledEmptyMany(t *testing.T) { + var got []AlertListResult + tt := alertTester(alertSample(), AlertListOptions{Disabled: true}, &got) + _ = tt.Click("Acknowledge") + _ = tt.Click("Silence 1 h") + if len(got) != 0 { + t.Fatalf("disabled list acted: %+v", got) + } + tt = alertTester(nil, AlertListOptions{}, &got) + if !tt.HasText("No alerts") { + t.Fatal("empty text missing") + } + many := make([]AlertItem, 100000) + for i := range many { + many[i] = AlertItem{ID: fmt.Sprint(i), Title: fmt.Sprintf("alert %d", i)} + } + tt = alertTester(many, AlertListOptions{}, &got) + if n := len(tt.Texts()); n > 300 { + t.Fatalf("%d texts for 100000 alerts", n) + } +} + +func TestAlertListSnapshot(t *testing.T) { + snapshot(t, "alert_list", 640, 260, func(c *ui.Context) { + alerts := alertSample() + for i := range alerts { + alerts[i].At = time.Time{} + } + alerts[2].Silence = time.Time{} + ui.Column(c).Padding(16).Children(func() { AlertList(c, alerts, AlertListOptions{}) }) + }) +} diff --git a/devtools_parts.go b/devtools_parts.go new file mode 100644 index 0000000..845590d --- /dev/null +++ b/devtools_parts.go @@ -0,0 +1,30 @@ +package mujica + +import ( + "fmt" + "time" + + "github.com/egoist/mygo/ui" + + "mujicaui/theme" +) + +// devtoolsAgo formats how long before now t was, as "5 m ago". +func devtoolsAgo(c *ui.Context, t time.Time) string { + d := max(c.Now().Sub(t), 0).Truncate(time.Second) + return fmt.Sprintf(msg(c, "devtools.ago"), agentDuration(d)) +} + +// devtoolsSeverity shows a severity by icon and word, never color alone. +func devtoolsSeverity(c *ui.Context, s Severity, word string) { + tone, icon := severityLook(Tokens(c), s) + ui.Row(c).Gap(Density(c).Unit()).AlignItems(ui.Center).Shrink(0).Children(func() { + ui.Icon(c, icon).Size(14, 14).TextColor(tone) + ui.Text(c, word).TextColor(tone).FontSize(FontSize(c, theme.CaptionSize+1)).FontWeight(600).SingleLine() + }) +} + +// devtoolsTitle is a serif panel title. +func devtoolsTitle(c *ui.Context, s string) *ui.Element { + return ui.Text(c, s).Font(theme.SerifFont).FontSize(FontSize(c, theme.H3Size)).FontWeight(600) +} diff --git a/messages_devtools.go b/messages_devtools.go index 9276a76..5d9d5a6 100644 --- a/messages_devtools.go +++ b/messages_devtools.go @@ -7,5 +7,17 @@ func init() { "key_value_input.row": {"Row %d", "第 %d 行"}, "key_value_input.remove": {"Remove row %d", "删除第 %d 行"}, "key_value_input.add": {"Add row", "添加一行"}, + + "stat_card.change": {"Change %s", "变化 %s"}, + "devtools.ago": {"%s ago", "%s 前"}, + + "alert_list.info": {"Info", "提示"}, + "alert_list.warning": {"Warning", "警告"}, + "alert_list.critical": {"Critical", "严重"}, + "alert_list.ack": {"Acknowledge", "确认"}, + "alert_list.acked": {"Acknowledged", "已确认"}, + "alert_list.silence": {"Silence 1 h", "静默 1 小时"}, + "alert_list.silenced": {"Silenced until %s", "静默至 %s"}, + "alert_list.empty": {"No alerts", "没有告警"}, }) } diff --git a/stat_card.go b/stat_card.go new file mode 100644 index 0000000..1a5bc7c --- /dev/null +++ b/stat_card.go @@ -0,0 +1,106 @@ +package mujica + +import ( + "fmt" + "log/slog" + "math" + + "github.com/egoist/mygo/ui" + + "mujicaui/icons" + "mujicaui/theme" +) + +// StatCardOptions configure a StatCard. Label is required. +type StatCardOptions struct { + Label string + // Change is the relative change, 0.12 for +12%; HasChange shows it. + Change float64 + HasChange bool + // LowerIsBetter colors a fall as good, as for latency. + LowerIsBetter bool + // Trend draws a sparkline; nil hides it. + Trend []float64 + Status DataStatus + Error string +} + +// StatCardResult reports this frame's events. +type StatCardResult struct { + Element *ui.Element + Retry bool +} + +// StatCard shows a statistic, its change and trend, or loading and error states at the same size. +func StatCard(c *ui.Context, value string, opts StatCardOptions) StatCardResult { + if opts.Label == "" { + panic("mujica: StatCard needs a Label") + } + if math.IsNaN(opts.Change) || math.IsInf(opts.Change, 0) { + panic("mujica: StatCard Change must be finite") + } + if opts.Status != DataReady && opts.Status != DataLoading && opts.Status != DataFailed { + panic(fmt.Sprintf("mujica: StatCard Status %d is not ready, loading or failed", int(opts.Status))) + } + k := Tokens(c) + u := Density(c).Unit() + var r StatCardResult + r.Element = agentCard(c).Height(116).MinWidth(180).Label(opts.Label) + r.Element.Children(func() { + agentCaption(c, opts.Label) + switch opts.Status { + case DataLoading: + ui.Column(c).Grow(1).Justify(ui.Center).Children(func() { + Spinner(c, SpinnerOptions{Label: msg(c, "list.loading"), ShowLabel: true}) + }) + return + case DataFailed: + ui.Column(c).Grow(1).Justify(ui.Center).Gap(u).Children(func() { + ui.Row(c).Gap(u * 1.5).AlignItems(ui.Center).TextColor(k.Danger).Children(func() { + ui.Icon(c, icons.Must("circle-alert")).Size(16, 16) + ui.Text(c, dataError(c, opts.Error)).Role(ui.RoleStatus).FontSize(FontSize(c, theme.CaptionSize+1)) + }) + ui.Row(c).Children(func() { r.Retry = agentToggle(c, msg(c, "list.retry"), "refresh-cw", false) }) + }) + return + } + ui.Text(c, value).Font(theme.SerifFont).FontSize(FontSize(c, theme.H2Size)).FontWeight(600).FontFeatures("tnum").SingleLine() + ui.Row(c).Gap(u * 2).AlignItems(ui.Center).Children(func() { + if opts.HasChange { + statChange(c, opts.Change, opts.LowerIsBetter) + } + ui.Box(c).Grow(1) + if len(opts.Trend) > 0 { + Sparkline(c, opts.Trend, SparklineOptions{Frame: ChartFrame{Label: opts.Label}, Width: 88}) + } + }) + }) + if r.Retry { + slog.Debug("mujica: stat_card retry", "label", opts.Label) + } + return r +} + +// statChange shows a signed percentage with an arrow, toned good or bad. +func statChange(c *ui.Context, change float64, lowerIsBetter bool) { + k := Tokens(c) + icon, tone, sign := "minus", k.TextMuted, "" + switch { + case change > 0: + icon, tone, sign = "arrow-up", k.Success, "+" + case change < 0: + icon, tone = "arrow-down", k.Danger + } + if lowerIsBetter && change != 0 { + if tone == k.Success { + tone = k.Danger + } else { + tone = k.Success + } + } + text := fmt.Sprintf("%s%.1f%%", sign, change*100) + ui.Row(c).Gap(Density(c).Unit()).AlignItems(ui.Center).Label(fmt.Sprintf(msg(c, "stat_card.change"), text)).Children(func() { + ui.Icon(c, icons.Must(icon)).Size(14, 14).TextColor(tone) + ui.Text(c, text).TextColor(tone).FontSize(FontSize(c, theme.CaptionSize+1)).FontFeatures("tnum") + }) +} diff --git a/stat_card_test.go b/stat_card_test.go new file mode 100644 index 0000000..d843db7 --- /dev/null +++ b/stat_card_test.go @@ -0,0 +1,73 @@ +package mujica + +import ( + "testing" + + "github.com/egoist/mygo/ui" +) + +func TestStatCardValueChangeTrend(t *testing.T) { + opts := StatCardOptions{Label: "Requests", Change: 0.124, HasChange: true, Trend: []float64{3, 5, 4, 8, 9}} + tt := ui.NewTester(func(c *ui.Context) { + Use(c, Settings{}) + StatCard(c, "12,480", opts) + }, 400, 200) + for _, s := range []string{"Requests", "12,480", "+12.4%"} { + if !tt.HasText(s) { + t.Fatalf("missing %q in %q", s, tt.Texts()) + } + } + opts.Change = -0.05 + tt.Frame() + if !tt.HasText("-5.0%") { + t.Fatalf("fall: %q", tt.Texts()) + } + opts.HasChange = false + tt.Frame() + if tt.HasText("-5.0%") { + t.Fatal("change shown without HasChange") + } +} + +func TestStatCardLoadingErrorSameSize(t *testing.T) { + status, retries := DataReady, 0 + var h []float32 + tt := ui.NewTester(func(c *ui.Context) { + Use(c, Settings{}) + ui.Column(c).AlignItems(ui.Start).Children(func() { + r := StatCard(c, "42 ms", StatCardOptions{Label: "Latency", Status: status, Error: "timeout"}) + h = append(h, r.Element.Bounds().H) + if r.Retry { + retries++ + } + }) + }, 400, 300) + tt.Frame() + ready := h[len(h)-1] + status = DataLoading + tt.Frame() + tt.Frame() + if !tt.HasText("Loading") || h[len(h)-1] != ready { + t.Fatalf("loading: %q height %v vs %v", tt.Texts(), h[len(h)-1], ready) + } + status = DataFailed + tt.Frame() + tt.Frame() + if !tt.HasText("timeout") || h[len(h)-1] != ready { + t.Fatalf("failed: %q height %v vs %v", tt.Texts(), h[len(h)-1], ready) + } + _ = tt.Click("Retry") + if retries != 1 { + t.Fatalf("retries %d", retries) + } +} + +func TestStatCardSnapshot(t *testing.T) { + snapshot(t, "stat_card", 640, 150, func(c *ui.Context) { + ui.Row(c).Padding(16).Gap(12).Children(func() { + StatCard(c, "12,480", StatCardOptions{Label: "Requests", Change: 0.124, HasChange: true, Trend: []float64{3, 5, 4, 8, 6, 9}}) + StatCard(c, "182 ms", StatCardOptions{Label: "p95 latency", Change: 0.08, HasChange: true, LowerIsBetter: true, Trend: []float64{120, 140, 130, 182}}) + StatCard(c, "", StatCardOptions{Label: "Errors", Status: DataFailed, Error: "Source unreachable"}) + }) + }) +} diff --git a/testdata/snapshots/darwin/alert_list-dark.png b/testdata/snapshots/darwin/alert_list-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..ee4869672ab346641ebd1369b203c415e14e803a GIT binary patch literal 25065 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

DmQg~Q)#-bl-`u%$&*>oT! ziF%gX+*>IpU`Ru2@&??xaE&T^dj1K|95E*5l19iL9xgyahPsE05kB;IAHBvY#gX>m z;rMX47U)QU#j#AA6E}#9b8!&>fkF^uWp6r^-nc)u(`=*TuV!edZ=@C##TEsq_k=gm zV6hk%XZ1-~Ew#R+DSQYu-)Kz2+oi7@<;I5cQzi}jkK1{7M~k_vq{-`jNF77@{8vU(1W*~c}Z7Z{m>VSemI#|L-b83FR#n$>=k3N9up4r-N zZEl|XEvp1d2DC5E&dJJm96kD?NXf-j%j&q4nY+?cQGuvIt7HDsx~%gHUbCTkqK@vw z$c*zn9{mJa#%%$o;bD7UPW^Q0WPeFIZ@_Y5VrOxx4WlTSd}l1nQ#OercYe)cauiOD zD3oy}wE<=resQ9vS`vX5vxxnO?jzpbNL#;MxEj6yBstmNW#%)rsnpV>jK9wq(7mEb ziDc7wm+ybvtZMbr_z9V0Ot@UV`Wz58#H}NV8L*%_k2_&t5Ka^n6>q(f$G9*mwAKa8 zmS5lW*UE=F+{RT;j~|kfVyU(2wo+DARr#G8(!G(NrD=&)RHN~6F=bEuCoH>`E=Xp{ z%#&T;-uC~waM;!Lo$WrMz(p!cT6}7J`oQuIdShCc|E{^|SczGfsP9=U=8E#xO>I5c^XdcMQ_{nBR8UA*-Ib zKTK`OU~@|&4i)jP0Xb`vH3CE@Zxi1%t?g2me4z3Plzg3s9p$fIC`cZ3v34( zxH5Q>8-2cFawnvu96H+dzg`j`%bGy?|7>LU@<9!XnX&lxVwZp82oBD*FFGJfWE6DFfV8*WZF10*UfA`pUi&I{ ztt%p()@@sv^=&T(1`@RJU<})Bo$oWE6_w_2q2Hy}ogxZyt+Jm%ze=rkL*?8-Oj}EZ z<8LiX@UN22RryE_CuzI~fl@2T>fzH@O0q^npakdKm$ zgtCU25WGC}5?C<)XM(FmWXl6gw5*Y&z;rP&hR+697?Q)QKB3~r#nrfS@h5i_VS((N zs(#2h5qVl{PzblpYrR*%$2a#xNDfa<^1%Js*ke}eVGN<|arPcIps|Wu8u%zz9aNgE z)2g}ZZfqUnW4wYFF#!{eiTB|QscWzc+)G_Y?{n{6)sWidUUq*HW_I#B&=e~DqdY_K;ylne~Afuk25v(Sc27~1aKDojRydt zh*0d4s~6EvPTEj~?MyrWDyuSy<19$*<1o)BD~98bTqbcz#$>1(o7al#lZhw+j_fXv zYVPCrUJoS+ub*W!i+;CWCR~QLIK{&;QYh3W3plbjg))nZDztwL6PlZT#_f4`kMZ`S zcekh$`J|tkn)JlnV`5G1RF7p2Co!Q79O~+dZf&4m?r^N}zqIsJ?Nx{$T(XoHYPKXG zh(J;zFxU=he=@dksao=>rZ*SJj36%>$6GE5A5C)BPZG33S9k+3U^gMkU4j+GY6?T7 z=2u~fdB5}T$)r`8)qmPr5IDXbn(2M;(X~E@W+{?0L=#z_uZiLo?rjK*3hd|SE6Bj> zGHY}V_N2x5NTdaQ>HnHhtbe6KEUgfy^iSKIJ3)g%p|~&NBf@Pvqec72L04Cwj$HSO z%9*WTZb%h(nV(tfjEAGcG85j`*~iCV*N#}Jin(rRv^yHjuc2`un{$e5<80&YY$JN% z{$^3>;M@LWXNI`ngStwPFLCvSiS<2W5fSD6Vr<@kx5SRM*sXu%9 z_mKjB_S?mRLHqN|h4+x{A#%ZOJM2|YOdc_v!?mB|+}lU;($eO$&d0V%9%7OKDWw*| zrhBmiN`gFJn_P-h65c5~Dd)9Y6jL)25iV2~#HS=hy#}%5U1DF?k}3-*7!Q)eHi+(T zzJIXym9fpGVH{zVg8RqzdL1T=_hP%fm$9-wsjy#ah4ywZU3>s{8$#Zh?fQQ2PzBD$48kF%TYJ(eka(`0|&LgGk@U8@Yjp_=a>2)f49#4 z|Kw@?I_3Y{EclNP&A;Ou%&s|7{=Yo&e_{B4_F$aBp)>B+a(OHYx52+~fD~j@q{|+f Gy!ac_l)d5r literal 0 HcmV?d00001 diff --git a/testdata/snapshots/darwin/alert_list-light.png b/testdata/snapshots/darwin/alert_list-light.png new file mode 100644 index 0000000000000000000000000000000000000000..ab19dc55a52e9d34000b612ae02e5650fb33640d GIT binary patch literal 24423 zcmdSAV|1lmvo5@Xj%`~VJDrX?wr$(C)v-HHI<{@wwryKyJ$vu-?(_cn#y7^YF1rUVRAB}@Gv+q00019Tuev-008v^06@T@K!H~{Oi(BR09|@j7cKuTPL0p%{L-tSC^<2-&7%HL!U{`M+8-!2qS$oYJ ze1twzKHNBxsu4saB)K!z0bZcp0J#4L+TJ(4D6d^Xnb1BPwx<$; z(@hM9^S|pW7Fq}j2p(W}ft)-2kiu83kRE(|uVwqD&d*<-qb^t%Vgf&blg8#mRGFjf z+`X}7%eGaW(pD6P-HCI~((O{VvTD@sBzN^d=skn^AB_X)0bj@t*!M}D3F7WCO*b#> zs%cZhQSt~W@WHXvZun;%H zf{rM%#>H+4`118_SB8z(u^4E$)s17ftx#-BR4lc z!N>pdIjW^m^|3ZHbNYejup86b=1K4KC1_hEECaW&;GEahrAq*R;L?VE@MjDsaA$X? z@1&#z65aUM0^;fzb$v;B_*4pjICH?(qMRSg*titk*wz9v~S{-Ik z$3`V+_PN5wlG6!2o$N&hnK<(54RkL2=MZY8uQJj8h1#C9ke*|so8CtHbup9w9)X<0=8EI?Kur^n>H#0jP-ctPy z9B4Yn5KXw}(d3fpWZKKX(KkY0C!^K+5_@|lf#2F~C}(HBUe0TOLJ7S7R$rG@$$GPx zPM+uIZ;+E8EGTag@Ky5J@9z795%QwG)IU+|R3;|69!;dT8H%=hy``6yu~3b6Z+3`R z4RnzJWdW2!rQ6Ws8~3xAgpXv=T5>{qYI0FFx4VN%VQ0$=Du6O$uI0$vXL zic`)45exH%IvqbPzCN3D-ELloB@umRRfS>r3`xiV6kkwk_`1-9r=4&ap&R zScf8b|DA!mQ_Yk~F6H|}6Er+Ap^1x66SQ1MNlwkYYEa`b72(Wa`#WldOc&w5;AjtL zduy2sv6>>DJz5qfR!%_G16DYE87W^ANuHn94aOq?U5i+Qe+ ze4+t={*w;403@ow*c0tY2*%Ys7Z3N*)8S3+)ws;9RrANyc>CR?@8yJ=HJzoUB;c2b zh>ESPt-ZaturN7b`(R86G3J96XJPU(`SOy$_G&LDXXjY_H#vFdYR6ksWo0Fg=LQoN z+$qEa9UTB*V{_R_+TGU|IADN_gQKarCPwD}dpLHFvVCQ)2>__AMFIShk!kGc=xA;x zqvH|O(#jAc%P%l~w|_Y;l%6cLpf+0zjEzr3Lq-MxMB} z$;pk)oT0!$U#l1FZD z9n6S_rxb_@Wc;h++;y7^^BFb@w8f#>?MQ|sC!Pg)v|Iq%o`7xc$52p`9P25asQ`W^^gMm`nfT8w*5=lWVK%$^$(pcj@{kkt#KIu5D*YxVW@QHaF^Pl z%t~GAG?Dh;z_~nZG<|ow z@Jny0p`9zQ#?8mw9^|@ZKW0?v7yggpPK(#lzk3q!n*u-RW=g*yhg1(ikT|{_5DvSGMaszj7$Wm1FNmTR; zdK|%Z3m4)DN6s$?AP5oy3ik~Q=DLf%8<8+XNMvyP#?AVorWmoNw$_1{mzSYRkO9>I z5q}jD0OgD3j}cIJBy)OtYGisu@WAQ+ss@y%bB8TeEu~uhz`Tx++JJ!E*?8thZu($> z8r_=4#>UI)qt9=!M>&)af_XFR8;>$6KPERp!m=%_tWZ!K>zkVL$nBtT5cvCu&3=HxhyML4AvS}^Bj)O=D2D+M5i!t}=8T>u^1pFA zx^9hS{QkJkfe7qzdwZ7^Fu3o&Jnv{jWYBK4FfeG=^LLhzIE|%e4kO$493LB<9R#j* zPEO~El3_h~>`3^`Obsz{3=C|9o15F^7Gm$-O`FSw9{pp3ZcSx-y8y7eGgaHvn<=ez ztx&`((J2UCUP>yo(FIG)YBeJ&VfEm565gGSwkPu|78CW9oQ5APBGPP}Cl3TMV0E-6 zyuOd1&Vod-$fB0;1te^+03t5_1Tx~u90;`SxbNKu@;BzD@2jKK;xNp^i0T^Oi5OTW z2lyw~!7FYboD|L7bP!K;1xx=84F)&Uo39j$%bXz?1%gWNb zd;$O9kH=dy-T2Gi{2_hx0e%U0s~olpKv}8Ox%qMq*7o-P=!WV03Vz>bJh`~II62wb-4(#k zCgVJD_7)5*IIx<(k$#?)HMg+vxh7g3H0g|uo&FnuJYJ{xd2?h76Da`Ew0epom60sF zVHATQ@QIP4A~A!sl&zSSp4GaFdas|15!}j|;PR@W^DFjHgNsemvQWWA(cHaBpq3u8 zlunb;W>2DiR}U-lFd#l{>52&}a`^|mJY7Q$`m4@2*S<}UOeRiuxm6*=2V#+m3dA~% z?|frMqdEA+S9Rx^SHZ85T8>?)d}fdxMMa?kC776)eLHr=SB@p6rG;}R5)$Ep@4Ebk zh6%raGkV-(vT|_j*|~v$_{@X6Tm`At=Zb=XD~x#zC&GY3j#`PBQSg{GuSU;2J+XkscfS!$s#Cp+Q^c?j0 zTZ@}P-tl2p9<^aN!xgqHF7zqzWTL|U%$39BAP?a$t8L*WuPW`*bk!&&r$%h~FEqhj zXBPVP;%HxMk5d4@R8T|=Rem{_|dqKfKUBaj{5|m`*rz^Y8Z; zTL*Uwn1E}r2e7{%XM=i-0RaN;Zf?N$F9pAx57Nh7gKb(@%EDKY1eK5klNPRyW~}G$ zAeA&!@M>)lGizKD>O0nYSQs&ypF_w@wRrKltyhDqI$KKb%-(XkN?DXm7Uyehx+E!7{;0=7I8)%I*%Zu5` zXMcU@^jR5Q>+w-c+$w#S0oTO|MFHyYft(qj+(0OwvV1q(;Cx~THzPt8yhvh$S9j;h z9ImIrkoJ92^@?*Bv8#Qqv-7Af}&d|6;dZH~GsqF*ZT$%wH#HS&3J$LQOs^~YLtS4#CV8b|evZxFWi>H%#dp*- zWb?76qEW~F8Y!3o3ZkMljo$75397jq13wxJ-ggGv9SfLjl>ktAO^_U48$~?2WF19322)(>!ae z9Su4E%%V4d6H)JXv_a__sqxNpsuv!L1}Y~YurEoNSM-+0n(uxe^XR_r6HyBD=y{6< zIs&1=sn|Q=@pbzuNj7f6(Llvomd`bFa~;LvB-SINf&7>7`IuQ~g{u=Cp?cM5i%<5$ zc|szJdDBgFrEzu3#v197M_cQREx`Ym2o*n~ptBRj>M9)wKuEZDv4xF;qe{Cjr@Gqg z?hw9ieB%AxhTx7TEX#j65V8k&-sP}$0iGLj70l7mlZs?BbwA54NYcMC=#W7`1~V6# zES2l%DrhtsM~q3;ov40Z-#zjo0Al~dh5JSeK`~=RQp)DWqv*<0C3coi)woQ%?n)uAA?;y8&zbMdwSZ_gy(NcQjSA2O1bMKIUQ9*xDZ>7B4e9> zazd3Cbs_1yLjjsVYh&fyv=7C0YxD)}3qs?GNN9s{A*AVMmjjBqnb3e)8opBstaOz;u4yAC}E2=!<2}w%Vq*W+*Vw!tezc?P?y*;tipxxNq0!Rz#+pgoAQ|%SxXCxyxhK&IjVStc=wi%m{`7p@oy@EZ33-Kl^n84LJUqgjHp34O zhY1U-DzBhZR8WA2f0%hhiinP`sHo`hrc_WuYjIsrJOvtJHMQ}`=xA$m^A^{y!o)-7HTJ{OTHYzy18Vg_?{uB=cehmdua$ zh7aRynY^u`)7$VDp`hx(x;DcbH(unN)^`*pa&^Y)zf-Ix>Ab71ySxCLLyFskp;}Sz zlBkLGKrjJ-tzP&^I%}otO%*HF%?{vx+ z?j{S^?oW+)83tX$y@rA^_YrNlh*nTtv*Kr1o1l)Pspg93n8Y1Dvl8=6^A35ahv&{r zF7=)+t9)ifPlwCt8D}4MpzqF$Dj{0meMWL3G8-QZeY2g(XF za$;nFyDWr^i@LPASy@b!ot$1(QgXTHxZ4+sBQ73xUXI7C9){nqXS&3o1ayMd8e7+v zY4uFxOw<4TG1>Cc$hFEA@%SLkdlJM z{Ot!Nt~$t+7XkoKTuL27z!Scan9`h*j!Pp29oolC|V~wXue<0KmizS#!O=0Hm$NF~DSX%x0PX!A&44spK|1vjF(z7lxmMOXG34%81=xW6T$x1?~_& zLJvcrQhqXHo?usM;5FO0ifVH4`+ap0b%Wl{Rum+S8w*5n29J2goO-qr3j)OiW>`F; zn8sDn+*>jpVj?^NElw-UI%(ltD@<^Em-JRV>QL?)S|eN{PK;2QtT{O%rntlB8w#CN zQ5TF>mXt=mcmgbi|-K*L|HOy2q z0^7;S`DmC2@`Weo@`Pt_7lXz!VnOw}pi57xdijL7y_Oc8GTSj#6V_Q&kelK+63E0{ zW+r3zd!@eyrB6q6UWL$qWg!9-hUa8ukDjt3-c>+pOLM4+7!q7*gd86f;&acXzP3_H zr$8NM$%KuzNv>3W`?bTxCmI6Ynd8?3KpUzyn^cwV#zoQ-5Jlw}+93kzA?VYvz=?d@V}RvsP{2%*Y~f|oK75Q_2fI$iE}lZG+r zK%8UF@_NdNo)jX;;wN=H#j#*wlGWDMPVtQJet(Wz^p0MG3@WyE^3&%kS zg@P=WCG4%}~ekgF8Bt=h%p<|Jc)&vudb*iJWLI8a?;xh*#ayC@iZT(UPhna<>8*l;%3zNlzZhLx!KGk=r z<=VnC(ua~f&%=W5bzH<;d@ZiE)uh8Ificd$a|~0hW}WP;z*nS%tWreA6f(r@-R

Er-nW72<#unh4WpuqA9pG8ozsc9LAm3nOV|E5tAa?z9PU!fdp0#IrO7Zq0x*n1duzxY~9d5mAVo^RRD;@b!NyimW;|CPFV#jX3D-iP((=~1lP-UeWj49T3f1k2;gg>c|d?K!X zkNVz3sGZW(cp$ie*}%wrq50q!r)@YPopu`zbaZ^Fks*hS)b@kx+KTJnySMM_e1_Fx zk<3SXE?^uB^RVMyzj^+3p;1p?D#%Y3?b_Zw!aZxw(5AJ{E!yiOemlL`--_OGb5pXe zNWz>r$#MN7%EJ)ju8y4k*NUa-@xfC?vo8zcFMl9A3N0Dgx>G3=pRX^bima@vloTu3 z{>)~_rRmhiXP4k6JNua3kBqReoy(1KIPP&g3m6y&(RRdEtL0PIi;(qg_@3pjp|O#X zES|SFec5c`i1Xh_l96@!dew3_x&k??zasLPH`=dy9h$y|<)%|%Bu!m!rZ za3R20N7EEBz%MtqS6)~4igXB*z8)O|!@)@ls6Zv1EZw6?U8N-@?Ot)ek9s}d-fb5o zDEnc%Z*{HD&T#2vjrC8@EzpsXG8J#? zl_OZgyWDlwI-%+@GO9(!_vCYWYKLrUzim<`k$-x1=WY2Mk)T9oo*Pk`xy<~8 zP#OGN7J5Jt)$nus_5D1mm=qIe#DHFfSR_AlDx59IN2HHh$vtC=KDpTpC4%p>l$tLk z`oR!lL!=Hw*M0WKvY_5QbL`p335g3U`yEsq#)Aqip3-2L40T0I zt%#V2f!IEaXdZh5(l>FebJH-wiUMoBj62o(>kBI*<6eWOzylK;-vJXiulT&KXY<`T zJ^;Uw*&unec)ncIs0t?Zr&NxXvB7I$m+;BPZc zz7uv2AF~)fe~6EL7_sD~8~o3_iFJDtrsd$Rt>>`k2t$J+@%c90Uh8w%AaH@fGy>E& zDk`(bc6S!qPXiQu99FZfmGzA#Y@E}gPEXmQIbZeK;dQUUE)=T=^^l(8l;d2;SYNnz z*LT`s*Mr>=#l)ZC)z!m94B(*HOjx+M!1h-(HXDJen^eOu0v1;AaA*og?e?I=Kwu5GEC=bdf%apOT zHg``*#QVDcPDAOJxerXpoi=F^L-Un1}a&2W;E9K?L4>%zb`v0|`VtgsB|Bf6h7kdpE%E=4Zm7 zblNh19=w)Wy-yhpOOm#zC}i9-=1cpc?M6Un@GlW?0g~JU^59zu>SC~4**jBdPs|62)zOS#MphY{(Xi2YoGpm z$r*tmSK96`()jpxM71K}hpbd}Vn5xd2CHkxls(O(DU7gMYD z>Y_Cb8V!?}O+V!Lh0%f#r$GBe3rx=Xkmn{&)!C--aH+(d5=1?Gwy<5 z?>L{l`8WZ307d{701f~F0P_Rs{=fWry#}LKo}elisVk8&s$c;1k2WBQF>q`V89c8N z2%lgQ2*U9bAwhwAj0KnFZnHB5p|B?Y%>joeH>2VggvODWwzY%C`JWoi|IEZZ0cr&b zC5aNd#k!}b!4W4V=KV8gNg{dj-;*|c=PlTf`=u*X969kygd~3GP=iB2Ks^2&->&LH zJAYVf!tJs;xba!eG_x|0dVW=qF)36d^Wk{pK{=6bX=qJN6UmzqiHRV`tCDwDcanAB`to}RuACjQrsbwvRdDP6<_;dKAr zTbfsJ>x?fm*&_ITC7hzbAPZax#W1q532Uq@uaH#SI^I>1=~g@1{mx`9X|0V{SBQ5y zz78;!d_w^F-~0Yt0bwU=d2kain|0{$1E*niW`Nx1(n^x1?5gWsqWg$6$Y=T8Sxo3T zsQEi}0WL;=NTwKNr)&;1IHBP?u?+-=Dmt%>@3#>%Eor#J1$ z>foU{D<37t#VC4#zzHrEqq9hR98=bG6Dyl`n^Q~3L?MGbFBTpSNx%gG!O77vXgVx!$fiJ>gEb%S z{+^nSdb5p2KA9Be*_uvTx+oeiPmT%)-a}2<`Djo&NUrTywd;~BB22_N-nn!!#W#2N z{#1O8v@|uT!pqZ_7I#pe^s`^C2Ex9r`9)zTz@CfeK@>_@Iap{;rjdi>Oht#X@Y}*K zkJgq~)8tB?YU`dp5~-5MF7WWu($h*u)uD(}l{6I8sFFv{@$gax$cGT{tZb~{pm65b zmz|uxdTtdC9mC93i(-XHYG}%QKJDK&wfQ#0y9#Eu2f!LMHfHCg@@6u$w2=giz`$&E z34`Pm4Gjs2cgvf_$qe3Ic6JL8_}>7Eiu9og&wY*Mn%HoZqB(LYe;f+JgBhOJM-(|z zQy<|()QpV4nm&^+xX4hT?Gc9kh`~bOu$c9R{odRmXp=_ZZK$dE%fxJiOr^_Mx5;(wd;KF!-QJh=^k!d?#AOGuOhK3dEjyQ zjBksd1{-hPfH&#=;Z9+v$vO7%5%u)EKXxselK2I6vGpP8t&QJRLFY6ad(M?wK3l6l zGqWy=C$Fk%rutXjloJ%i1^Wg=O z&BtwG^uErC6Lq+h$){YSc0M{@f5$w?B{fMmAd z7AP-`E{(nzw}fb7&-V^b_s_?5vc?K0A#B;u!M(B^<&Ms-T^>6I8l&j+MUz8YUo(9; zL2~cwD;R(N>h*ir5ktx3#6E(xt+4WP4i98jnu>0r?YA0Qe9m z*t^qkm?VXgu|UC)psx3LpvQiU)UGAf#Q5}hNB5n|%4@y*zz#_uu&)nE04oF@0k*=R zra7Z^Ssc}zRYO?4MI=u@DTz2pAXKP$;dBW8fsFY@YZlu3Bt)pRYL8pB6lX3L_#?cRwI85lOw3uY$3t-VxT z+admzozkGg1jROG+d3NVEyAY*@y7f8qc>C}Z6=!`Cn7z) zAu0+1J&oY4-pB!4;I{4rXCMdY!$qxmTHX*1vUBBuV$z&u!A>b;)!VR~jYfl|`yuGHSq}0Pc3nAUC ztzPGL1O{Sfewq^Z-h_%7F*BWO&!L#CvS1Cod}BL59lgCxU#j%(v^RXxVZQgvfrR7H zI|dO%Y$km2Q#Us5ot#XmG34E-w%ME=7#ws%2z3sOlM44uU07LAR+Y=_u=tH)m(f{yl-;LlTp98$POk?%;lY-o^h{@=ry$?~ibhNeb8;jv<#9 zaJbk!Uh`rf-=N+u$Eq4_mh-16@^GRGPsB;Ha#mM%ei<|7qkOMx24{fyJy5Pd5u)#c z@aP??Gs229vG?jBYg?tP>(%Hy^vK`SlS?00$pMGWXw)4GA_xJ8ZPzvKmwoH*vzQ&Z~2ziE#zuAab4oC#MsY#+eJ(Qz@`>j;ew}9U0^>A?6ZV4w|vqRgI+~XBX#&nmW4H?5Y_vC%N-V-aq*r zoZUWKbsRrv6Yq|ZyWqDvgqs)%@o?gO=-4hC!qv#)CCHu}9ZoO~bvirU$`<9-Dq=8Gb zkw~-FZ=n9K4L{S}9tIAc=^VuTQadK@^a0nn2-_|?9}9iyj40;4?{rRu ztcAQsUV;S^B$5%~VTMK)66tA-q|DT%L<|fs^X9UIgow6PX%>wxB;oG1k=1nx+RDb} z#^_kwZYz}8cwBaW^Zyd@Q7!>f2R=^boWf`qd2}x+LK60Jlg1KcGg~S)&@PV8xot;s zixLD$NoEx)Q{+l~KtTFw?r(3NzUs*J-OiRste|vyM4;gBZ|Bj&FR&wp2`k#|Uhgk( zIhf#pD45-0*NNciHsC2HAoq*`PL%K@qtdpxJ1_t&i>wE)(pWHl>yz^0x365V|>f*HZ{PUV~>N!!dt=c3PaE2 z#Ba-`fycbmkkbPKk+Cm= zs&|mif{{WA5YS$r*r z4S`YC0zr;v3FH)6CDL_s|9uxpD_h^-%-DSUma05eNFtvg@T_qveEl~a1w#U zoTJb-*W^E@-Ss;6o}q;k#cuNcqxS;_m=-9NbDv*zslgzt>*bo%;!b!k426w@&Dqj= z|9U_O*M}t&-9geAGhK$$DUEadb~wWUgqTzEF%5U_-kAvCVeR`-LRg-!f+~ZKQ4;f8 z+6`g_KScumvwMsh83mrNr21RD!4mz_3?}hDGCD?^i~C|H8Odk6#&Sl7{n%{hTT=Rz z)Z62dxBZxgW%KKo-fGO>N)`T#jb2P2@DIgOiK!LLrt|rs^x%n#AlWJr6=}x@(%s{) zV+z_}t$6##q2rP=W0V}NRdoEPkqVZz#M@0m_p3ubxIQuXbCM4pLw5v$V`LiD7!a2@ z|D2jS)n%3{cVTyk0ooUefgZZ+0mU9D7Ir3R82D6Hw#$f#bSFA}q~fiT>rEa*!@XY5 zCuqpyZ}HH=y@x7O$6~$y>84Kk)h)^tXvoo~v|n48B^V}Uv(e)pAE7adh}h|=hXjKx z#W%Qo1f5nGOlN%g@A;CZOIFZn%zy0Ky?M6R%if}jO^8WNH@RQv1k9v*Uwbvh-Af=t zWj~Ko-8ER4*qR(~JQXxcRZ8-ACl5oYQBv2t>6NIBERt#qa#nftuvWUO8_zE@9l11d zN{d-xv!|a#D9g!lg880l`J{~N z-@lL0C=>UoM->b*is;YFBG5~s(BFjYM~0gJnkP1^@>WCT^Hdp(O0P+vAgRb=W!3uO z9ipgcX=uyAL!9Heph}B!A-Rr^hQjQjb^f{0#h8I786in#U~e?fxPbu@EMR}=hEi5P zA0&bQ)8P5ozD6~k!3-&ll}#o`&a27%E)wzZ83MeTrc7ayvP!+{&kv?gtu&S|nb}J< zRzen^b{ok&DQfATPWkc5HrAGBCl}J=16^UUj+BbT$z2@g1|F*q4D8m71v5@#m7e#* z)_;fQOgjsU3XL~L<*1Xq=Zkd~g1C8m8Clv)J4HhY4N_uqN~6c1Z)%?Vp6t`FVI>Sy9cwHg%)Wy)mC?&Iao zoT`t|-zIoi^t>Rg^b!T=%`2;l%fBYnZlVCe20TX%h&G}xArb%<%dc#B~PjEAmAhFs-0UBGN{aUM)Nzi zF8y_4K9f6G{4GvbU!SGL1X75Z1)+k-kYY>WzG0(Vqx0c~-$4ab2-^Q`oN8Qbth%sl zxG0?};$XDDp>O*5Oz<3~?TgDYHN$f< z4Cd_fa`P?2dmFz!ecRO?=+z($aS;8YMPZxQ=a(-Ku;0CwS7fQPZbMC>U3C5WQNEd8 z*?E7F)2G7DzH_HD5dRxRT*X6VzBCCoPp8e5s~`sh*XQAVKttd8{*Z$Ng8>*_5Fub# zo9xMPDt3yjt}U(0%d3adWY;L>BsxXm@LoQA2IAJ{zBob^Lm(Ivf-M=daA* z+FGBlKbhbV?CT>eEY$x%+LyP{xqZNe#b5|usZC9e`;HL?0jVreaQjC3m0@7sKu6ru zJ$=1DV+a+1b_Z*#)4}emZ!~_mR5!~~zx9x4K~u(_n~ExW6dy(wk37+S!PKJ}^Se5J z|4nuCwS51Pp>~oUr?1C{`jOi|yx*Y)?JBqest&JSggF88dQW0|naLfpC%IE?#%r53-e>5JC__ zR=w1(ix_)(aqw4}=}nh{6-_u84K!XaTw{%d!calsqG`HkafkbdP0vwPq>aX3urbZ7CZQ7V)NOD#`}nh9OJVj*Z`%0ye8!{G zEMMAeGQ0%`O&uN`)wNtoKfp@_=V}q9T<$6AgkKb4swhWs*MalL24rLm7cXUGWP$|* zq+0#aD?WFhAq93YwsL9n$?yN!v&>@$Rrc=p_g7bUDlNxkZA03#wKv`4l1{BdOGn<` zEL&L`F0OE9=73k{*0`TvtlppWwY^2LXu)#E7k5PmlLnjB9Me zMI>~vqz4;LT=bTcn)WVP=hxabWij5RqB-39AzS8^{+pXLpP`o*oGdOa`6UgitAVSyQ7x=o z#K~%TGxrn+x~gI&1u<=h96slIud==}%4LnEVMU>WP&O+9-jd&shJfm+FzgxK^+wI> zWH3I6?5RaJ)pmy7EX4LhF3T6O3l!9!qQIff?J*kR6s;;VuuoRJsdSVExMbnNedJ;T zByl6tpn{gT>AwdeCbPH)jA{s)Fo&my<+3HvBiiPjMFzADU~wKp`VL^i!@0PA0#%4p z>yqK=GBqtVZO+Va@qMVPZf#@*+qMq@HShQ=CZz)Qs5SG|4bkdrN{+52XVrxj7UyD* z;b||gMs>1E9mOlr&v&wIhkG5lw2HZQhFBqZWA z-C=U0n;{xyVq}wCZ!qnOcL=vS8D+uSV;RlVL$JqAzNIl72ledxPtz2w$8v$`1!2T= z%kThEw~j%RKO!b+M>w?kbw;9+*7o$BduI7s+=1v0-~E3Xc?6R{^=7e47T_p7=8l)7 z4a5COI8;8KN#lPv34$aMn{5T{hpLC01ITelfEIJ zCWkJ~uhV8FumJ12z9uX7J3BkiBgbX8zJ5g;Xu3*CNiWDB_cM=nDp{xKGE2Hph+_pl9_~4qVP;fV`pTPqesGfeog@D zP}0Pqu@U>?(wIE!%huA3ttYj$AH#EzyAI0{ z!{DJkyZ)#ofsoZo0ejm<0b&0d=utfo|| zat=NaZg9sQFe=HkrjlbuXho_yMUTam%Qsjx6 zq11gCsp!^Ls-BhA`Od)tn-j@z(!TGX7aPE{4|A%O_W7V7WM}_nDg_0TCc7@D>*vrN zCe>>q&>BTbOT7mMS_HE}@@?_`_<_Z3X%%&UGZHVpM6ZFtQGXoAqy~5Ykj}+hBK6uU zyCt#ixV>MB|64+s2qndz7xr-=roG3)wsrDzj`VTh%i%mUo$w>m>KFVY01NShgb-N7Uxtqm{Ta?BO62Q0z+Nq&uq-yQu#VA*>C-Kb!CRxxSS)g3hgF+z>TZZb87 zyAx9-3N{qzhnVdhwhWs9P=6ip5~Wi5II$8rwUuSF7$GoEUU&evJ|N4fP@zNwA`i%q zLfwm6-~oJ0)?&LUdTVFr6m2%+U0mCmnU@9zfB*|LZ;6-V+eZgsKY#MHx2p_T{gtCq zKRG!lFh1iL*xmb&9@-;*Oxpi7We8LAI#>^GLB4CGI8V%Tc(@F(3EQ`EaCmNauUTtc zTv#O2X^mW1I#<3IYrC=kH?}t$wATvtx|awF1r6g6cYA85 zl|iGmzIYpX6CWJN>n4aJ1^D;~PJeuSEYWL?PmKs0GXv}3L_-o96*3FuqB}B$XjQ1u zo}vE5R{j$!mxbR3p2FTUGA6iOr?Dd;OU&K5H&YZGeKT|c#AZ1aD z(?|g!NUTABeQ^U+?y1F$YLgnAW9pAo+kfH*5S^GmX{M(e^VBA$i%UfxPD5S$^?*Sj zVsY#J=NC5v?(LIK-uB4x4(K)@As9M_9>Eq}m0om|1ExDF&zaft+h@{PA9s_61~bhcK?;7*zV0+vH} zELaF02pWRS80n|~KYHoC0hzHcnIrh0%#^97_Ke6O z?5CfrP)4_a!$2>VYc~i2-p`WLRmDPc1K$76=6DZQ zSAHNlcr~W#=Ia9V5g%uJK)qh9HGN>ET$Mc^$%&~gW1pXonVXrx!E)6ZzGdz1&YDia zl$W0;#4A+y%0DOm)O}gC*^uD1+qSc|#y|9X&v&Xv{`=}f3CzSMf@1awkmB<9g2M#w{@7|MJdFDN z`+7Xp16bB=Tricr&&$S?8mx>xa#wr%ReqOLMMrmGqh-}A<(*k$IHborJOzd4{z*VO zbuIXLL&%J_y`|-6?hA`C-nVn3oV0L)$dX`Nq@twc?(RM<>D#_A-(FJU&SD(y;56=@ zMj)%C6q}IHGb-A%ssHG^=wJ4ChuW+e2B$J05N7=SdoT{`8d%{MD>l@WmEi%$7Z+@7HR=bQ>?9-(g`Fii{x6r>{@&i+ zYNl7krKOMe_lq-GY-7^~30I4YDo*30BlcloHO}7NVAkUnS6M`;hG*lER^`aRN=18} zc07Qbj*h;8Rc1m0un_&@A&WPeUIzm3{C364)Y$36Gc!3UZd`hp8$4!Vu?YZ#EE30w zeSUJmo1{rA&bc@_`P`Brp5ZnW7n>Q9O43R9S!=o?!o|vC0-&KeFc}<_6&EzxhaV23 zG}W~2cKg56(0Bs>)ZrO0tOk^g|4zAjUV~!H6d#pfXa5863kV#B=O zWjegMoL3Z{7F9q~r7FwIJ+6sJ8Hv>76ByP33NuxzPs7pxsVON@{IxtfQsW+V9R8 zw=8~vTVG#K0LRaZhl-{L3_@JrmUkHTeFRZ==VJ5$K>-D-2an#+If{`95R zQ3?-_4vX&eczYb8Ncp!MCdAxzt_)DKCLb>*ns`Nzq zd?MGph8dpM`7+-O(~;pGJ+K;BL{t~MCi3j{f3@?SK~aR;wvFT@Ac!DHkenqW2nY&D z7?3=G02q?&qa~32c3>gVSkeop>4q4I=2bkOUocB)Ms$1{iN;r zRbAcR?)~jvy}rHHiAi0Zm!_uYuu5jD$4Mw0t_)I71_nP066t~EMOnQNQj(8E;Szy? zrVUPG;cq8Jgb3l@6e!_p`&k3;d#O-)qy4Aks_D z%N4`{Vwq%U9(c+L%H3C3mPeWIGK-2i1UCq`?{6nvlowA;PLc!5t0-Q6egdFYte)TJ zniT9wU(`&{NDVzYKHl1f;R5XJT}7H1>0iF+Yisie2}OC~l9UM7mXrv)%;taCDnp}x z{R~}gGpL}UrS0$S{ky+k)ZKxiErjN2DVZ=VU|9qOIoa9IZ>nv`AtxU{s)3VWYg}Jk z+#Wg)B_bgifpZ)m9*)rj&b`qGfSm6x78cpHwPbO~{oe?RdDMF$Zf;Py?P9BRS4b$X zwN-G><=Z#S!1G7AO+^3fH~i-_yn^7L8=1)gPqnq*J%5M;NFk&m!trnbMa9r+kui@W zhqq*ag`HiGF&Wd@>FqQEPVF#FPP@VmX$^7g+KBj_&oesT0!8HiYPbuw#%c8zm*e4yc=t}h$WMoYSpOvz)k;Xa>4fUk zP<8bN*i=68F&h+z`xzn1(lr7CFg5lUM4`RCFDw_b3-iTLij4Amep zP+2V^?=F9k2yofQLtxlJSw#l*U}~(O7}2vN8dv;Bj@~*xYouoq@y$=;-MqGo>Ef@yPw& z(o$0+db%xcX_*6d)QZu=KU1~^$$nAHfkIO)1zKZRiK<=qdZsI!e*ZSLwaG6nHOB!s zd3i1V8(#WfU^*G4O0n)LfjhE5Z*4s13U-ai8GZYxT`wH)5sYdfvWzT^zu= z=RMRIq#)?&8S)VPlz7B4^wk|sQ!uGlWY$0##?ng` zvxT9+8i>ubPWvV?o~#|QC!CY04=Q@D=Sw+gOt}BZD4c>qZp-|LyI@@E7c6u^$#% z_$U=9!6CN<)Z+qE-!Y{*t*kse93n^Yg(xyrRn<4FXhJifcB!-1=BT|LU}IxLowFFF z#HE5nS=-5jbwjg=rw&aX97BtX@Te%l}Y?7WIX z-50L-Jv}`=KacF|d-s?{UItU|=Q86C$Y7qtGRk?c_f{PoJOT?6l@i+w!qZ&a@~~jj zGkLA)0Aa|(7wBqh8@y(>`<^E!Yx^0KW1J8>J3eDt@SCKsw2gw*4`t6*d4s9VeZ-Lz zs5Q1aFFiXsSV{Rx5}l-iZen5@HSoD%hbW4rEjCRTV&-nprH@$_fS&AYss!qqYG2?9 z==ZGD!03wvg{vzyOf144x5DF*J{;?bRW(>2ymYt;QwIFruBD8TKR*h$?ANF0!9oa} z$~0I?Q(5ESTFTc6nhQ{1A|6BwBf0T1wFF9BlkKJS-=9%nXO)7z>FMbsA|fhlEGw(4 zEuxsiqob*1o?|~otDC~hSSaVtFD?wqUVTKg$?ob^)@X&c-gYV$*6tW$X%nR(;gC4J zFDmNkyjzE*v2a-GVoHB6a_E&;A_P2DQ=jab-s|{KOhNqG+RtnK2tp%b^ul=6UGG*b zPTPS^NXS>I_MUp_G~z@G&#LXEjOvL`PC*#ey{^gnp`)04-M@<`?;1YxBqMziloi-c zLqZfY{6->8*>GudqB)vJt0c;z8V$9tf#n>g(2z_md-_g3O=jtD>rsf3C?lsQ0Ttmz z8>!vV>5q^b9UUF6HqH$}Eh<-abP5Vmv&Vy+0oj2qe^7FP$Awelo?bdSYCb-aD1yX9 zeJ5E72ghGx5uEBWb8B35?fm?U6q4Knu&NE`GuN(xM!e_ljrTq zRy!Eb%Gd5TnM%h?DK19eTgIqLPr`aXGHFF8>7erw>_;ivYABPv;ikTQ*7tpfx12(9-UV$`B5{RlgbtqC*bK-ULNFi^E;wp#z|299yO6m`GA4@YmYLM`o`AQmGi>{ z5Ob$VxKKWjJiTcl1gikp#Amg-H)WuxtDBIWZDC+1!Nr9fp(;E*y7W>guW)GNaIq}q6(jx=>PS&|2OT5 zzCc?(9otEQrImeJfUgOK{x|BYFa(lht5K+nH}~{PbErvhR7{RO6M7u{ zIU<@(W|bGkpiEIE>R7Nepfc>+jZAejWhm-0=2vd;BfvUL?AIz*&?}CrQ?) zZ&TCULonGyPs*`?xg_HSYr_1_eNwmIRf{zpzxFGdOH~Vawt$ei(CTC_neItW#B-+j zQQbJRn!JMTlVVwmg*=JQSxr5^uX=%R_#m1|k`u3dc|T{waZSlkdSWlB4lwzD;JARE z4bn1J%PJx!GUH|)9_#9~Ux^OoRbflS@A3QBTOG}qGe&@q1M{elvccuJ?Qt4ld zLxxAgF@A|Ux!9;CC5MshKzVftVtjU%hex=z42{UmReU+p(b#w?Z2kOWv|4^X=g1vI zwidPfeLbl+-3}+}6(_Byr{HUBVvC!HM+Zy#m5a|5!Kh+#3CcVzf6-A*kcPm2^mK%& zn0++_jh%eFz2$<w@92J$7;Uy*7mX?Q&UZpDhnHClnWF#a^>6`)jx+W&k zLke)Yr1;dQ!OsiJ%coMtseq99RS_Tr#4+C(di&MJ4LxY?C6N%3oS%~k>i%4FukDx5 zRQcjg(lf`F4gmPpdny~&T&c0~xhmZq=@AKQs^}PK7H~9QA1|s`cIF$?=vlIUic96k zGkLLTXuXN3-R#LQL`1}kjtB!SlhNIJG&nE$HT_=(Nt(?18^F{q>F{BlCj%qbEFVRz zbnhN&XmA|%?VqvOXX7lk%@BSb)6-6I!U0C0+mv-yo)lFH;5B_HEreM!4axCz+^{1o zzTEkXH{c)P94s_ii1)q0@`jbQt=;xsKs167wzuiZ7S9Qx3o8-?;CG+3q56&g58u>g zg2$*%?zdG_33{6}?703d2fc(eH1e>$wRLrTypT`PO{mTF?Cb-19J`oLtdWwk*(nuH@X$!t&#KcMLv_OprF6uZO^^+Dl#AWc-`Zv z=02f11{Xwi?0hKYaY0IvwHRF5qSZ%3Y%;^)o6N|xxd%q!=%!LCtG#;#Q}xqFti{*J z@YPL4Uwj9KOu6S&@??hl%mS~QL$@;rs&0M zGIYx|bkF=n$R8vrSiySo{|HE=MXK^h8oW2wFwSgvRB?4a$`v9{Wu_^iDS=Auks!fm zA!_VP{&xM^cB(hgh_Y7*qN}Ux?~nSi7sScA$>|F`eQEL9c~@N0XZi#6p9*s=_B%2# zlTi<5`M|?mtHrkg+sBGu9}Z=ByoOfV)fqbfE{NOJ*M0d}U88wnVF5B9my~7x9=W!@ z{&IGFBK=Fs1vl5mhb7u9khubVx{%M!^>uaWs~%`t=Dt!>OD)=PoJ+j|t?K@|zENo{ zOaJxVqz|2$g_7;e{Pr*kxt9A-$aVg&in_=2><2k&G6hOMe1!Yj^T0~jE(!&wn!Xf1 zb?)2U4aQfEPRv%r!Cp}l=y3iP7x`C|P?tukT*ejGA z=G|-sNX-*`if7MmU01p)Y+G7SI!*9jTu-89&yUHHqvvCc{FLc$+mpaGD%nW9XInx~ zc=7<&_d{99yYOYk`=)WRQ+N`!CinII z+BKy8**NQHHOnZzf3gl+SOEa+;}cxF5srBbxY^J|lX$q9*yVEb+=?`ae9F=$b$BR= zMtey~Ek;ysZ;#{SorAO*27`%Yl&uXg%x<~9^@ORSw6xCexTj-@c$>U6Jlyx`^3Y`P zcliKR`nm5RmCpgX8_UWXb-GJlUE>K({K=`Qs{kz1+$wf!+mR?VkFWek?9?@83ymLyj3hE9l|u>Pk#1+v1}|NlJQrbXO33cT|;LOW|?8AH63~ zKRK~RuU$pA89X5R*IK^PplJ$uftQ)OkHbxa7o{jsJQ2$}4{I_HY2}hASbX{mS~I`D)|mOoKK@K@>CMi^9p~ z6bg%c9UtXhUk=#+ytFLgChWDb@)4pSV_(5X!4nQb8T2|op>Wrab>o{5F_##_R7W8HM9;G z925Y}5Ph#K60mDg=?~n+VN1e5NFS%qNw?>tGs3MM&brBo<4@E%dn}hy3*p`du7Y@H zs;erFTw^*;f$kJb!$IX5P_&e9;m2QRL3FrGQJ7~F^@x&^I)sveLJ-=DXk80jhOZZ@ zsThV`<|HXFTNVDM2DwxFj@!|8$Ew*3P@6Y} znl;K86avlPJ|g)q1xQ3p&`+C^$hhuHgtY4OI|@)T1NKTPj&X;bivZ~9Jn@h z>mqZxwV9`O-#M_Q#ZpDFp#fp&=coA@ep~i!enmw^QBi%u%sc&ePlE(+kc%z5wK_-~ z#w=;w0rZ_TcqQIfx;#E;2ytq1yZWZ$Cz(L}JiZvMTn6i0QXx{)ou4WPLnL`{4=0{+ zw3|cvBr8|Mcs%^#ZE#x3&`LOdAJ?_5wAXs?=(@@x&hWm>a;N;w?wP+^vlk^--}dEY z4FkihKHMDdQ3wv11%OM}UW0R9k(c);G12#m9lfKnwCB9E8udNB%5!rHD)({eBt z&HVOCyKPz>XAEF z;QForH`pzw$?cd5hMM;^Cr71A!6z4ehldX9nUPydIu_{uQzRw!7?yGgEYCceW*~Iu`0p$hd#& zHBsJ`Mtpwmy`P(MfM$Q<%A|e}r>f5A06~%}B0g)7Y`MVrx(uWBkApJuTl|yT7qh>Z zy0o3dw3@KW+Int32DA*-3QVY7KMD6d2_d%pN-j98C4H|bL%Alg?Fp=4ye)Vzj>~0a z-#pz*NNA|WnKEMMh%cV~Zthq^{wt$zlTI=Ayf81+en=kow|p1}@J2PZk2< z_X=cIl?`OK=>ET>`bT#Bx3T`4j=psRu*jeXWT1sP3*~YBU#cE*Ydnqi|NZ^XM1b+$ z0sfQI?WY9b^LU!v=Ebx}L-_yB|9?|X{Ifp&yEAYfa0QgBDR$dDym7$M0;)=y&&w4p GLjMCg{(g)A literal 0 HcmV?d00001 diff --git a/testdata/snapshots/darwin/stat_card-dark.png b/testdata/snapshots/darwin/stat_card-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..197be7a7afaf3f952d02a122c5e25a492fbb4328 GIT binary patch literal 17500 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 literal 0 HcmV?d00001