From c9cd78b0eb183439538958ed0a24abc090f4545d Mon Sep 17 00:00:00 2001 From: aynakeya Date: Sun, 14 Apr 2024 09:39:25 -0700 Subject: [PATCH] update dep --- gui/config_basic.go | 107 +++++ gui/config_layout.go | 40 ++ internal/todo/playcontrol.go | 253 ----------- internal/todo/playlist.go | 213 --------- internal/todo/provider.go | 118 ----- pkg/liveroom-sdk | 2 +- pkg/miaosic | 2 +- playground/fyne_demo/FyneApp.toml | 5 - .../fyne_demo/data/assets/fyne_scene_dark.png | Bin 42648 -> 0 bytes .../data/assets/fyne_scene_light.png | Bin 41770 -> 0 bytes playground/fyne_demo/data/bundled.go | 15 - playground/fyne_demo/data/icons.go | 43 -- playground/fyne_demo/main.go | 203 --------- playground/fyne_demo/tutorials/advanced.go | 85 ---- playground/fyne_demo/tutorials/animation.go | 143 ------ playground/fyne_demo/tutorials/bind.go | 111 ----- playground/fyne_demo/tutorials/canvas.go | 49 -- playground/fyne_demo/tutorials/collection.go | 119 ----- playground/fyne_demo/tutorials/container.go | 154 ------- playground/fyne_demo/tutorials/data.go | 150 ------- playground/fyne_demo/tutorials/dialog.go | 185 -------- playground/fyne_demo/tutorials/icons.go | 195 -------- playground/fyne_demo/tutorials/theme.go | 72 --- playground/fyne_demo/tutorials/welcome.go | 42 -- playground/fyne_demo/tutorials/widget.go | 421 ------------------ playground/fyne_demo/tutorials/window.go | 71 --- 26 files changed, 149 insertions(+), 2649 deletions(-) create mode 100644 gui/config_basic.go create mode 100644 gui/config_layout.go delete mode 100644 internal/todo/playcontrol.go delete mode 100644 internal/todo/playlist.go delete mode 100644 internal/todo/provider.go delete mode 100644 playground/fyne_demo/FyneApp.toml delete mode 100644 playground/fyne_demo/data/assets/fyne_scene_dark.png delete mode 100644 playground/fyne_demo/data/assets/fyne_scene_light.png delete mode 100644 playground/fyne_demo/data/bundled.go delete mode 100644 playground/fyne_demo/data/icons.go delete mode 100644 playground/fyne_demo/main.go delete mode 100644 playground/fyne_demo/tutorials/advanced.go delete mode 100644 playground/fyne_demo/tutorials/animation.go delete mode 100644 playground/fyne_demo/tutorials/bind.go delete mode 100644 playground/fyne_demo/tutorials/canvas.go delete mode 100644 playground/fyne_demo/tutorials/collection.go delete mode 100644 playground/fyne_demo/tutorials/container.go delete mode 100644 playground/fyne_demo/tutorials/data.go delete mode 100644 playground/fyne_demo/tutorials/dialog.go delete mode 100644 playground/fyne_demo/tutorials/icons.go delete mode 100644 playground/fyne_demo/tutorials/theme.go delete mode 100644 playground/fyne_demo/tutorials/welcome.go delete mode 100644 playground/fyne_demo/tutorials/widget.go delete mode 100644 playground/fyne_demo/tutorials/window.go diff --git a/gui/config_basic.go b/gui/config_basic.go new file mode 100644 index 0000000..1b9c188 --- /dev/null +++ b/gui/config_basic.go @@ -0,0 +1,107 @@ +package gui + +import ( + "AynaLivePlayer/core/model" + "AynaLivePlayer/gui/component" + "AynaLivePlayer/pkg/config" + "AynaLivePlayer/pkg/i18n" + "fyne.io/fyne/v2" + "fyne.io/fyne/v2/container" + "fyne.io/fyne/v2/dialog" + "fyne.io/fyne/v2/widget" +) + +type bascicConfig struct { + panel fyne.CanvasObject +} + +func (b *bascicConfig) Title() string { + return i18n.T("gui.config.basic.title") +} + +func (b *bascicConfig) Description() string { + return i18n.T("gui.config.basic.description") +} + +func (b *bascicConfig) CreatePanel() fyne.CanvasObject { + if b.panel != nil { + return b.panel + } + + randomPlaylist := container.NewHBox( + widget.NewLabel(i18n.T("gui.config.basic.random_playlist")), + newCheckInit( + i18n.T("gui.config.basic.random_playlist.user"), + func(b bool) { + logger.Infof("Set random playlist for user: %t", b) + if b { + API.Playlists().GetCurrent().Model().Mode = model.PlaylistModeRandom + } else { + API.Playlists().GetCurrent().Model().Mode = model.PlaylistModeNormal + } + }, + API.Playlists().GetCurrent().Model().Mode == model.PlaylistModeRandom), + newCheckInit( + i18n.T("gui.config.basic.random_playlist.system"), + func(b bool) { + l().Infof("Set random playlist for system: %t", b) + if b { + API.Playlists().GetDefault().Model().Mode = model.PlaylistModeRandom + } else { + API.Playlists().GetDefault().Model().Mode = model.PlaylistModeNormal + } + }, + API.Playlists().GetDefault().Model().Mode == model.PlaylistModeRandom), + ) + devices := API.PlayControl().GetAudioDevices() + deviceDesc := make([]string, len(devices)) + deviceDesc2Name := make(map[string]string) + for i, device := range devices { + deviceDesc[i] = device.Description + deviceDesc2Name[device.Description] = device.Name + } + deviceSel := widget.NewSelect(deviceDesc, func(s string) { + API.PlayControl().SetAudioDevice(deviceDesc2Name[s]) + }) + deviceSel.Selected = API.PlayControl().GetCurrentAudioDevice() + outputDevice := container.NewBorder(nil, nil, + widget.NewLabel(i18n.T("gui.config.basic.audio_device")), nil, + deviceSel) + skipPlaylist := container.NewHBox( + widget.NewLabel(i18n.T("gui.config.basic.skip_playlist")), + component.NewCheckOneWayBinding( + i18n.T("gui.config.basic.skip_playlist.prompt"), + &API.PlayControl().Config().SkipPlaylist, + API.PlayControl().Config().SkipPlaylist), + ) + skipWhenErr := container.NewHBox( + widget.NewLabel(i18n.T("gui.config.basic.skip_when_error")), + component.NewCheckOneWayBinding( + i18n.T("gui.config.basic.skip_when_error.prompt"), + &API.PlayControl().Config().AutoNextWhenFail, + API.PlayControl().Config().AutoNextWhenFail), + ) + checkUpdateBox := container.NewHBox( + widget.NewLabel(i18n.T("gui.config.basic.auto_check_update")), + component.NewCheckOneWayBinding( + i18n.T("gui.config.basic.auto_check_update.prompt"), + &config.General.AutoCheckUpdate, + config.General.AutoCheckUpdate), + ) + checkUpdateBtn := widget.NewButton(i18n.T("gui.config.basic.check_update"), func() { + //err := API.App().CheckUpdate() + //if err != nil { + // showDialogIfError(err) + // return + //} + //if API.App().LatestVersion().Version > API.App().Version().Version { + // dialog.ShowCustom( + // i18n.T("gui.update.new_version"), + // "OK", + // widget.NewRichTextFromMarkdown(API.App().LatestVersion().Info), + // MainWindow) + //} + }) + b.panel = container.NewVBox(randomPlaylist, outputDevice, skipPlaylist, skipWhenErr, checkUpdateBox, checkUpdateBtn) + return b.panel +} diff --git a/gui/config_layout.go b/gui/config_layout.go new file mode 100644 index 0000000..27c05ad --- /dev/null +++ b/gui/config_layout.go @@ -0,0 +1,40 @@ +package gui + +import ( + "AynaLivePlayer/gui/component" + "fyne.io/fyne/v2" + "fyne.io/fyne/v2/container" + "fyne.io/fyne/v2/widget" +) + +func createConfigLayout() fyne.CanvasObject { + // initialize config panels + for _, c := range ConfigList { + c.CreatePanel() + } + content := container.NewMax() + entryList := widget.NewList( + func() int { + return len(ConfigList) + }, + func() fyne.CanvasObject { + return widget.NewLabel("") + }, + func(id widget.ListItemID, object fyne.CanvasObject) { + object.(*widget.Label).SetText(ConfigList[id].Title()) + }) + entryList.OnSelected = func(id widget.ListItemID) { + desc := widget.NewRichTextFromMarkdown("## " + ConfigList[id].Title() + " \n\n" + ConfigList[id].Description()) + for i := range desc.Segments { + if seg, ok := desc.Segments[i].(*widget.TextSegment); ok { + seg.Style.Alignment = fyne.TextAlignCenter + } + } + content.Objects = []fyne.CanvasObject{ + container.NewVScroll(container.NewVBox(desc, widget.NewSeparator(), ConfigList[id].CreatePanel())), + } + content.Refresh() + } + + return component.NewFixedSplitContainer(entryList, content, true, 0.23) +} diff --git a/internal/todo/playcontrol.go b/internal/todo/playcontrol.go deleted file mode 100644 index b8e52a2..0000000 --- a/internal/todo/playcontrol.go +++ /dev/null @@ -1,253 +0,0 @@ -package todo - -import ( - "AynaLivePlayer/adapters/provider" - "AynaLivePlayer/core/adapter" - "AynaLivePlayer/core/events" - "AynaLivePlayer/core/model" - "AynaLivePlayer/pkg/config" - event2 "AynaLivePlayer/pkg/event" - "errors" -) - -type PlayController struct { - playing *model.Media `ini:"-"` - AudioDevice string - Volume float64 - Cfg adapter.IPlayControlConfig - eventManager *event2.Manager `ini:"-"` - player adapter.IPlayer `ini:"-"` - playlist adapter.IPlaylistController `ini:"-"` - provider adapter.IProviderController `ini:"-"` - lyric adapter.ILyricLoader `ini:"-"` - log adapter.ILogger `ini:"-"` -} - -func (pc *PlayController) Config() *adapter.IPlayControlConfig { - return &pc.Cfg -} - -func (pc *PlayController) Name() string { - return "PlayController" -} - -func (pc *PlayController) OnLoad() { - return -} - -func (pc *PlayController) OnSave() { - return -} - -func NewPlayerController( - player adapter.IPlayer, - playlist adapter.IPlaylistController, - lyric adapter.ILyricLoader, - provider adapter.IProviderController, - log adapter.ILogger) adapter.IPlayController { - pc := &PlayController{ - eventManager: event2.MainManager.NewChildManager(), - player: player, - playlist: playlist, - lyric: lyric, - provider: provider, - playing: &model.Media{}, - AudioDevice: "auto", - Volume: 100, - Cfg: adapter.IPlayControlConfig{ - SkipPlaylist: false, - AutoNextWhenFail: true, - }, - log: log, - } - config.LoadConfig(pc) - pc.SetVolume(pc.Volume) - pc.SetAudioDevice(pc.AudioDevice) - pc.player.ObserveProperty(model.PlayerPropIdleActive, "controller.playcontrol.idleplaynext", pc.handleMpvIdlePlayNext) - pc.playlist.GetCurrent().EventManager().RegisterA(events.EventPlaylistInsert, "controller.playcontrol.playlistadd", pc.handlePlaylistAdd) - pc.player.ObserveProperty(model.PlayerPropTimePos, "controller.playcontrol.updatelyric", pc.handleLyricUpdate) - return pc -} - -func (pc *PlayController) handleMpvIdlePlayNext(event *event2.Event) { - isIdle := event.Data.(events.PlayerPropertyUpdateEvent).Value.(bool) - if isIdle { - pc.log.Info("[Controller] mpv went idle, try play next") - pc.PlayNext() - } -} - -func (pc *PlayController) handlePlaylistAdd(event *event2.Event) { - if pc.player.IsIdle() { - pc.PlayNext() - return - } - pc.log.Debugf("[PlayController] playlist add event, SkipPlaylist=%t", pc.Cfg.SkipPlaylist) - if pc.Cfg.SkipPlaylist && pc.playing != nil && pc.playing.User == PlaylistUser { - pc.PlayNext() - return - } -} - -func (pc *PlayController) handleLyricUpdate(event *event2.Event) { - data := event.Data.(events.PlayerPropertyUpdateEvent).Value - if data == nil { - return - } - pc.lyric.Update(data.(float64)) -} - -func (pc *PlayController) EventManager() *event2.Manager { - return pc.eventManager -} - -func (pc *PlayController) GetPlaying() *model.Media { - return pc.playing -} - -func (pc *PlayController) GetPlayer() adapter.IPlayer { - return pc.player -} - -func (pc *PlayController) GetLyric() adapter.ILyricLoader { - return pc.lyric -} - -func (pc *PlayController) PlayNext() { - pc.log.Infof("[PlayController] try to play next possible media") - if pc.playlist.GetCurrent().Size() == 0 && pc.playlist.GetDefault().Size() == 0 { - return - } - var media *model.Media - if pc.playlist.GetCurrent().Size() != 0 { - media = pc.playlist.GetCurrent().Pop().Copy() - } else if pc.playlist.GetDefault().Size() != 0 { - media = pc.playlist.GetDefault().Next().Copy() - media.User = PlaylistUser - } - _ = pc.Play(media) -} - -func (pc *PlayController) Play(media *model.Media) error { - pc.log.Infof("[PlayController] prepare media %s", media.Title) - err := pc.provider.PrepareMedia(media) - if err != nil { - pc.log.Warn("[PlayController] prepare media failed, try play next") - if pc.Cfg.AutoNextWhenFail { - go pc.PlayNext() - } - //pc.PlayNext() - return errors.New("prepare media failed") - } - pc.eventManager.CallA(events.EventPlay, events.PlayEvent{ - Media: media, - }) - pc.playing = media - pc.playlist.AddToHistory(media) - if err := pc.player.Play(media); err != nil { - pc.log.Warn("[PlayController] play failed", err) - return errors.New("player play failed") - } - pc.eventManager.CallA(events.EventPlayed, events.PlayEvent{ - Media: media, - }) - pc.lyric.Reload(media.Lyric) - // reset - media.Url = "" - return nil -} - -func (pc *PlayController) Add(keyword string, user interface{}) { - media := pc.provider.MediaMatch(keyword) - if media == nil { - medias, err := pc.provider.Search(keyword) - if err != nil { - pc.log.Warnf("[PlayController] search for %s, got error %s", keyword, err) - return - } - if len(medias) == 0 { - pc.log.Infof("[PlayController] search for %s, got no result", keyword) - return - } - media = medias[0] - } - media.User = user - pc.log.Infof("[PlayController] add media %s (%s)", media.Title, media.Artist) - pc.playlist.GetCurrent().Insert(-1, media) -} - -func (pc *PlayController) AddWithProvider(keyword string, pname string, user interface{}) { - media := provider.MatchMedia(pname, keyword) - if media == nil { - medias, err := provider.Search(pname, keyword) - if err != nil { - pc.log.Warnf("[PlayController] search for %s, got error %s", keyword, err) - return - } - if len(medias) == 0 { - pc.log.Infof("[PlayController] search for %s, got no result", keyword) - return - } - - media = medias[0] - } - media.User = user - pc.log.Infof("[PlayController] add media %s (%s)", media.Title, media.Artist) - pc.playlist.GetCurrent().Insert(-1, media) -} - -func (pc *PlayController) Seek(position float64, absolute bool) { - if err := pc.player.Seek(position, absolute); err != nil { - pc.log.Warnf("[PlayController] seek to position %f (%t) failed, %s", position, absolute, err) - } -} - -func (pc *PlayController) Toggle() (b bool) { - var err error - if pc.player.IsPaused() { - err = pc.player.Unpause() - b = false - } else { - err = pc.player.Pause() - b = true - } - if err != nil { - pc.log.Warn("[PlayController] toggle failed", err) - } - return -} - -func (pc *PlayController) SetVolume(volume float64) { - if pc.player.SetVolume(volume) != nil { - pc.log.Warnf("[PlayController] set mpv volume to %f failed", volume) - return - } - pc.Volume = volume -} - -func (pc *PlayController) Destroy() { - pc.player.Stop() -} - -func (pc *PlayController) GetCurrentAudioDevice() string { - return pc.AudioDevice -} - -func (pc *PlayController) GetAudioDevices() []model.AudioDevice { - dl, err := pc.player.GetAudioDeviceList() - if err != nil { - return make([]model.AudioDevice, 0) - } - return dl -} - -func (pc *PlayController) SetAudioDevice(device string) { - pc.log.Infof("[PlayController] set audio device to %s", device) - if err := pc.player.SetAudioDevice(device); err != nil { - pc.log.Warnf("[PlayController] set mpv audio device to %s failed, %s", device, err) - _ = pc.player.SetAudioDevice("auto") - pc.AudioDevice = "auto" - return - } - pc.AudioDevice = device -} diff --git a/internal/todo/playlist.go b/internal/todo/playlist.go deleted file mode 100644 index 7f94ac8..0000000 --- a/internal/todo/playlist.go +++ /dev/null @@ -1,213 +0,0 @@ -package todo - -import ( - "AynaLivePlayer/adapters/provider" - "AynaLivePlayer/core/adapter" - "AynaLivePlayer/core/model" - "AynaLivePlayer/pkg/config" - "AynaLivePlayer/pkg/event" - "errors" - "fmt" -) - -type PlaylistController struct { - PlaylistPath string - DefaultIndex int - CurrentPlaylistRandom bool - DefaultPlaylistRandom bool - History adapter.IPlaylist `ini:"-"` - Current adapter.IPlaylist `ini:"-"` - Default adapter.IPlaylist `ini:"-"` - Playlists []adapter.IPlaylist `ini:"-"` - eventManager *event.Manager - log adapter.ILogger - provider adapter.IProviderController -} - -func NewPlaylistController( - em *event.Manager, log adapter.ILogger, - provider adapter.IProviderController) adapter.IPlaylistController { - pc := &PlaylistController{ - PlaylistPath: "playlists.json", - History: newPlaylistImpl("history", em.NewChildManager(), log), - Default: newPlaylistImpl("default", em.NewChildManager(), log), - Current: newPlaylistImpl("current", em.NewChildManager(), log), - Playlists: make([]adapter.IPlaylist, 0), - DefaultIndex: 0, - CurrentPlaylistRandom: false, - DefaultPlaylistRandom: true, - eventManager: em, - log: log, - provider: provider, - } - config.LoadConfig(pc) - if pc.DefaultIndex < 0 || pc.DefaultIndex >= len(pc.Playlists) { - pc.DefaultIndex = 0 - log.Warn("playlist index did not find") - } - go func() { - _ = pc.SetDefault(pc.DefaultIndex) - }() - return pc -} - -func (pc *PlaylistController) Name() string { - return "Playlists" -} - -func (pc *PlaylistController) OnLoad() { - var playlists = []*model.Playlist{ - { - Meta: model.Meta{ - Name: "netease", - Id: "2382819181", - }, - }, - { - Meta: model.Meta{ - Name: "netease", - Id: "4987059624", - }, - }, - { - Meta: model.Meta{ - Name: "local", - Id: "list1", - }, - }, - } - _ = config.LoadJson(pc.PlaylistPath, &playlists) - for _, pl := range playlists { - pc.Playlists = append(pc.Playlists, &playlistImpl{ - Index: 0, - Playlist: *pl, - eventManager: pc.eventManager.NewChildManager(), - log: pc.log, - }) - } - if pc.CurrentPlaylistRandom { - pc.Current.Model().Mode = model.PlaylistModeRandom - } - if pc.DefaultPlaylistRandom { - pc.Default.Model().Mode = model.PlaylistModeRandom - } -} - -func (pc *PlaylistController) OnSave() { - var playlists = make([]*model.Playlist, 0) - for _, pl := range pc.Playlists { - playlists = append(playlists, pl.Model()) - } - _ = config.SaveJson(pc.PlaylistPath, &playlists) - - if pc.Current.Model().Mode == model.PlaylistModeRandom { - pc.CurrentPlaylistRandom = true - } else { - pc.CurrentPlaylistRandom = false - } - if pc.Default.Model().Mode == model.PlaylistModeRandom { - pc.DefaultPlaylistRandom = true - } else { - pc.DefaultPlaylistRandom = false - } -} - -func (pc *PlaylistController) Size() int { - return len(pc.Playlists) -} - -func (pc *PlaylistController) GetHistory() adapter.IPlaylist { - return pc.History -} - -func (pc *PlaylistController) GetDefault() adapter.IPlaylist { - return pc.Default -} - -func (pc *PlaylistController) GetCurrent() adapter.IPlaylist { - return pc.Current -} - -func (pc *PlaylistController) AddToHistory(media *model.Media) { - pc.log.Debugf("add media %s (%s) to history", media.Title, media.Artist) - media = media.Copy() - // reset url for future use - media.Url = "" - if pc.History.Size() >= 1024 { - pc.History.Replace([]*model.Media{}) - } - media.User = HistoryUser - pc.History.Push(media) - return -} - -func (pc *PlaylistController) Get(index int) adapter.IPlaylist { - if index < 0 || index >= len(pc.Playlists) { - pc.log.Warnf("playlist.index=%d not found", index) - return nil - } - return pc.Playlists[index] -} - -func (pc *PlaylistController) Add(pname string, uri string) (adapter.IPlaylist, error) { - pc.log.Infof("try add playlist %s with provider %s", uri, pname) - id, err := provider.FormatPlaylistUrl(pname, uri) - if err != nil || id == "" { - pc.log.Warnf("[PlaylistController] fail to format %s playlist id for %s: %s", uri, pname, err) - return nil, errors.New(fmt.Sprintf("fail to format playlist id: %s", err)) - } - p := newPlaylistImpl("", pc.eventManager.NewChildManager(), pc.log) - p.Model().Meta = model.Meta{ - Name: pname, - Id: id, - } - pc.Playlists = append(pc.Playlists, p) - return p, nil -} - -func (pc *PlaylistController) Remove(index int) (adapter.IPlaylist, error) { - pc.log.Infof("Try to remove playlist.index=%d", index) - if index < 0 || index >= len(pc.Playlists) { - pc.log.Warnf("playlist.index=%d not found", index) - return nil, fmt.Errorf("playlist.index=%d not found", index) - } - if index == pc.DefaultIndex { - pc.log.Info("Delete current system playlist, reset system playlist to index = 0") - _ = pc.SetDefault(0) - } - if index < pc.DefaultIndex { - pc.log.Debugf("Delete playlist before system playlist (index=%d), reduce system playlist index by 1", pc.DefaultIndex) - pc.DefaultIndex = pc.DefaultIndex - 1 - } - pl := pc.Playlists[index] - pc.Playlists = append(pc.Playlists[:index], pc.Playlists[index+1:]...) - return pl, nil -} - -func (pc *PlaylistController) SetDefault(index int) error { - pc.log.Infof("try set system playlist to playlist.id=%d", index) - if index < 0 || index >= len(pc.Playlists) { - pc.log.Warn("playlist.index=%d not found", index) - return errors.New("playlist.index not found") - } - err := pc.provider.PreparePlaylist(pc.Playlists[index]) - if err != nil { - return err - } - pl := pc.Playlists[index].Model().Copy() - pc.DefaultIndex = index - model.ApplyUser(pl.Medias, PlaylistUser) - pc.Default.Replace(pl.Medias) - pc.Default.Model().Title = pl.Title - pc.Default.Model().Meta = pl.Meta - return nil -} - -func (pc *PlaylistController) PreparePlaylistByIndex(index int) error { - pc.log.Infof("try prepare playlist.id=%d", index) - if index < 0 || index >= len(pc.Playlists) { - pc.log.Warn("playlist.id=%d not found", index) - return nil - } - return pc.provider.PreparePlaylist(pc.Playlists[index]) -} diff --git a/internal/todo/provider.go b/internal/todo/provider.go deleted file mode 100644 index 642f2a8..0000000 --- a/internal/todo/provider.go +++ /dev/null @@ -1,118 +0,0 @@ -package todo - -import ( - "AynaLivePlayer/adapters/provider" - "AynaLivePlayer/core/adapter" - "AynaLivePlayer/core/model" - "AynaLivePlayer/pkg/config" -) - -type ProviderController struct { - config.BaseConfig - Priority []string - LocalDir string - log adapter.ILogger -} - -func (pc *ProviderController) Name() string { - return "Provider" -} - -func NewProviderController( - log adapter.ILogger, -) adapter.IProviderController { - p := &ProviderController{ - Priority: []string{"netease", "kuwo", "bilibili", "local", "bilibili-video"}, - LocalDir: "./music", - log: log, - } - config.LoadConfig(p) - provider.NewLocal(p.LocalDir) - return p -} - -func (pc *ProviderController) GetPriority() []string { - return pc.Priority -} - -func (pc *ProviderController) PrepareMedia(media *model.Media) error { - var err error - if media.Title == "" || !media.Cover.Exists() { - pc.log.Debug("fetching media info") - if err = provider.UpdateMedia(media); err != nil { - pc.log.Warn("fail to prepare media when fetch info ", err) - return err - } - } - if media.Url == "" { - pc.log.Debug("fetching media url") - if err = provider.UpdateMediaUrl(media); err != nil { - pc.log.Warn("fail to prepare media when url ", err) - return err - } - } - if media.Lyric == "" { - pc.log.Debug("fetching media lyric") - if err = provider.UpdateMediaLyric(media); err != nil { - pc.log.Warn("fail to prepare media when lyric", err) - } - } - return nil -} - -func (pc *ProviderController) MediaMatch(keyword string) *model.Media { - pc.log.Infof("Match media for %s", keyword) - for _, p := range pc.Priority { - if pr, ok := provider.Providers[p]; ok { - m := pr.MatchMedia(keyword) - if m == nil { - continue - } - if err := provider.UpdateMedia(m); err == nil { - return m - } - } else { - pc.log.Warnf("Provider %s not exist", p) - } - } - return nil -} - -func (pc *ProviderController) Search(keyword string) ([]*model.Media, error) { - pc.log.Infof("Search for %s", keyword) - for _, p := range pc.Priority { - if pr, ok := provider.Providers[p]; ok { - r, err := pr.Search(keyword) - if err != nil { - pc.log.Warn("Provider %s return err", err) - continue - } - return r, err - } else { - pc.log.Warnf("Provider %s not exist", p) - } - } - return nil, provider.ErrorNoSuchProvider -} - -func (pc *ProviderController) SearchWithProvider(keyword string, p string) ([]*model.Media, error) { - pc.log.Infof("Search for %s using %s", keyword, p) - if pr, ok := provider.Providers[p]; ok { - r, err := pr.Search(keyword) - return r, err - } - pc.log.Warnf("Provider %s not exist", p) - return nil, provider.ErrorNoSuchProvider -} - -func (pc *ProviderController) PreparePlaylist(playlist adapter.IPlaylist) error { - pc.log.Debug("Prepare playlist ", playlist.Identifier()) - medias, err := provider.GetPlaylist(&playlist.Model().Meta) - if err != nil { - pc.log.Warn("prepare playlist failed ", err) - return err - } - model.ApplyUser(medias, SystemUser) - playlist.Replace(medias) - return nil -} diff --git a/pkg/liveroom-sdk b/pkg/liveroom-sdk index cb4dc5a..c7bccf4 160000 --- a/pkg/liveroom-sdk +++ b/pkg/liveroom-sdk @@ -1 +1 @@ -Subproject commit cb4dc5a579575cb41e8272cfd89dfbd121405a19 +Subproject commit c7bccf421c8eb40c513098f53257d842a595668b diff --git a/pkg/miaosic b/pkg/miaosic index 8f83aed..ba4269d 160000 --- a/pkg/miaosic +++ b/pkg/miaosic @@ -1 +1 @@ -Subproject commit 8f83aed58686f6afe070578638f4693999dd8143 +Subproject commit ba4269d6c015d35ef386ac881a260dff03f8681e diff --git a/playground/fyne_demo/FyneApp.toml b/playground/fyne_demo/FyneApp.toml deleted file mode 100644 index e1084d8..0000000 --- a/playground/fyne_demo/FyneApp.toml +++ /dev/null @@ -1,5 +0,0 @@ -[Details] - Icon = "../../theme/icons/fyne.png" - Name = "Fyne Demo" - ID = "io.fyne.demo" - Build = 6 diff --git a/playground/fyne_demo/data/assets/fyne_scene_dark.png b/playground/fyne_demo/data/assets/fyne_scene_dark.png deleted file mode 100644 index 2659818fa5ead6bbc9a67c7b76a595041772567a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42648 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 diff --git a/playground/fyne_demo/data/assets/fyne_scene_light.png b/playground/fyne_demo/data/assets/fyne_scene_light.png deleted file mode 100644 index 086a868d72ed7c36aee0bb01d624400031c613d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41770 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 Yz+=Ft{+fKliU9v8$*Id$N}C1$4{D>xX#fBK diff --git a/playground/fyne_demo/data/bundled.go b/playground/fyne_demo/data/bundled.go deleted file mode 100644 index eb64b6b..0000000 --- a/playground/fyne_demo/data/bundled.go +++ /dev/null @@ -1,15 +0,0 @@ -// auto-generated -// Code generated by '$ fyne bundle'. DO NOT EDIT. - -package data - -import "fyne.io/fyne/v2" - -var resourceFynescenedarkPng = &fyne.StaticResource{ - StaticName: "fyne_scene_dark.png", - StaticContent: []byte("\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x01\xc9\x00\x00\x01O\b\x06\x00\x00\x00&\xd65\xb4\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\x96eXIfMM\x00*\x00\x00\x00\b\x00\x05\x01\x12\x00\x03\x00\x00\x00\x01\x00\x01\x00\x00\x01\x1a\x00\x05\x00\x00\x00\x01\x00\x00\x00J\x01\x1b\x00\x05\x00\x00\x00\x01\x00\x00\x00R\x011\x00\x02\x00\x00\x00\x11\x00\x00\x00Z\x87i\x00\x04\x00\x00\x00\x01\x00\x00\x00l\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x01\x00\x00\x00x\x00\x00\x00\x01www.inkscape.org\x00\x00\x00\x03\xa0\x01\x00\x03\x00\x00\x00\x01\x00\x01\x00\x00\xa0\x02\x00\x04\x00\x00\x00\x01\x00\x00\x01ɠ\x03\x00\x04\x00\x00\x00\x01\x00\x00\x01O\x00\x00\x00\x004\x1fw\x93\x00\x00\x00\tpHYs\x00\x00\x12t\x00\x00\x12t\x01\xdef\x1fx\x00\x00\x01\xcbiTXtXML:com.adobe.xmp\x00\x00\x00\x00\x00\n \n \n www.inkscape.org\n 1\n \n \n\n\x18\xcbUX\x00\x00\xa3\xc4IDATx\xda\xec]\a|\x14E\xfb>\x9aX?\xfd\xfc,\u007f{\xef\x8a\x05\x14\x81\x10:R, \xbd\xd7\x10\x10B\xef\x06\xa4\x83 E\x94\xdeD\x10\xa4I\xefH\xef\xbd\xf7N \xbd\xde\xedm\x99\xff\xbcs3ǰ^r\x97d/p\xc7\xfb\xfc~\xe3Ő\xdbۛݝg\xde\xf6\xbc6\x1b\x02\x81@\xdc!\x10Brё\x8f\x8e\xfct\xdcGGn/\u007f\xfb8\x1do\xd0Q\x8c\x8e\xeat\xb4\xa6\xa3/\x1d\xe3\xe8\x98M\xc7J:\xb6ұ\x9f\x8e\x93t\\\xa2#\x96\x8eT:\x14:4:t\xfes\n\x1d\xd1t\\\xa0\xe3(\x1d{\xe8\xd8@\xc7b:\xa6\xd1\xf1\x13\x1d=\xe8hJ\xc7Wt|\xce?\xfbQ:\xf2\xc09\xe3\x15D \x10\b\x84\xd5Ę\x9b\x13\xe2}\xe9\xfc;\xfc\xdb+t\x94\xa1#\x8c\x93\xd5ߜ\xf8\xa2\xe8Pɝ\x03\x90m\x1c'ߊ\xfc|\xf3\xe0UE \x10\bDV-\xc5\\\xdc\xf2\xca\xeb\xc9R\xa4\xbf{\x9e\x8e\xcat\xf4\xa1\xe3/:\x8eё셬\fN\x96\x8ai8\xf9P%\xabQ\xe7\u007fox8\x86\xce\xffN\xe3\xefqJ\xc7r\xf0\xe1\xe4\xff\xaeH\xef\r\x93\xbf#^i\x04\x02\x81@d\x86\x1c\xf3p7j\x1e\x0f\xff\xf6\x1cw\x95\x8e\xa6c7\x1dI\x19\x90\xa1*\x11\x96\"\x91\x9f\x91\x83֣.\x11\xe4y:>@\x82D \x10\bDV\xacFp\x95\xe63\xfd\x1e~\xf7\x19\x1d\xbd\xe9\xd8\xccc\x81\xe9Y\x86\xb2%\xa8\xe70\x19\x9aχH\xa4\fXC\xc7\u007f\xf8wʟQ\xfc\x14\x81@ \x10\b39\xe6\x92~\a$R\x8a\xc7\x13\x8f\xa7c!\xca.Q\xe3\x0e\x12bzpJ?\xff$\x93>^u\x04\x02\x81@x#FH\xc0\xc9k\xfa}A:\x86\xd2q\u0083e&\xe2{w\x1b\x19z\x82\x1c\u007fl }\xbf\xbcx\xf5\x11\b\x04\x02\x91\x1e9\xe6\xe6\xb1F\xd9j|\x8c\x8e\x16tl\xf1@6\"\x96\xa8\x93\xc0\x80\x1c\u007f\xbc\x02\xa4Ͽc>\xccbE \x10\bDF\x96c~\x139\xbeC\xc7H^khv\xa5:\x03\x88\x18\x89\x87\xf8\xe3z \u007f\xfe=\xf3c\x82\x0e\x02\x81@ \xd2#\xc8|r\x92\n\xfd9\x94\x8e\xb9\xe9\x10\x8cA\x02\x13r\xfcq\x94\xfc\xdd\xf1\x0e@ \x10\b\x84'r\xcc#\xbb\x18\xe9\xcf\xe5\xe8X\xe5\xc1\x9d\xaa\x93\xc0\x86\x1c\u007fl,}_\x8c?\"\x10\b\x04\xe2_\xe4\x98W&\b\xfas\b\x1dk\x83\x90\x1c\xe5\xf8\xe35:>\x95,g\x8c?\"\x10\b\x04\xe26r\xcc%\xeb\x91\xf2\x98\xe3_\xa6\fU\u007f\xc4\x1a\x8d;P\x02\xa2I\xf1\xc7\u007f@\x13\x96\u007f\xe7\xfb0\xfe\x88@ \x10\bO\xd6cn\xfe3d\xab\x0e\x97HK\xe71G#\v\x96\x9af\x92z\x93\xe5\xe3T\x89\xac2\x92\x87S,\x16\x18\x90\xe3\x8fc\xa59\xc0\xf8#\x02\x81@ \xfee=\xe6\x93\xfe\xbf!\x1dWMnUoV\xa0.\x11\xa9\x9c!\xeaoWiV\x04\t\xe4\xf8c3y\x93\x80w\x03\x02\x81@ l\x9e,'\xfa\xf3kt\xac6\x91\xa3\xe6E\\\xdc\xe9\x85\x10c\xe88\u008f;\x8d\x8b\ft\xe55\x95\xb5\xe9\xa8\x02\x9d4\xe8(OGY\x9e\x18\x04\xff_\x95\x8e\xfat\x84\xd3\xf1\x03o\x83\xb5\x88\x8e]\xbcv\xd1饌C\xb6:\xe5s\x16\x04\t\x9dD>\x97,h\x8c?\"\x10\b\x04\xe26\x82\x94c\x8f\xed\xa4\xf6S\x9a\xa9\x15\x95a\x8a\xe3yJ\u0601\xbf9É\xec\aNr\xef\xd3\xf1_?\x9c\xf7\x83t\xbc\xcaI\xf5{:&s\xf2\x8c\xcb 1\xc7!}'\x10~\xbc\\\x016\a\xb909\a\x81@ \x10fr\x905W\xdbzq\xaf\xca\t;3\xe8xZz/v\xc0@ \x10\bDP\x11\xa4\\\xff\xf8s\x06٫r\xed $\xf1\xd40\x91#\xc6\xef\x10\b\x04\x02\x11T\x04)'\xe8\xfc\xe5\xa1O\xa2'\x82\xdc\a\xf1Ja\x81b\xf6'\x02\x81@ \x82ւ\xe4٦\x1b\xa4\xf2\x0e\xc3\x03A\n\xabr\xa1'\x82E \x10\b\x04\"\xe8,H\xfa\xfa\xb0\x94\xc1\xeaHGRN\x10\xe4\x14$H\x04\x02\x81@\x04;A\x8a\x12\x8fǸV*\xc0\xeeE\xe0{\xaa\xd9\x02E \x10\b\x04\"X-H \xc8\xe3>\x12\xe4b\xe9\xfd\x18\u007fD \x10\bDP\x12\xa4\x88A>,Y\x90\x0e/\x04yP.\xb0\xc7YD \x10\bD0\x12d^\xf1J\xc7n/\x04)\x94uҠ\x83\x86L\xb0\b\x04\x02\x81@\x04%A\xf2\x9f\xd7z!HC*\xff\xa8\xc7ߓ\x1fg\x11\x81@ \x10\xc1H\x90ni8\xfa\xfa\x87\x17\x82\x94\x05\x04\xe6I\x96'*\xe8 \x10\b\x04\"x\xadH\xfa:4\x83:H\xb9\xe90ᚭ\xcf\xf0\xf7\xa1\x9b\x15\x81@ \x10AI\x90\"\x93\xb5\x85$Jn\xf8`EF\xc8\xefG \x10\b\x04\"\xd8\bR\xd4B\x96\xf0`)fD\x90DZE\x14\x02\x81@ \x82\x99 E\xa9dz\xbc\x8d\x95'\xb1rs\xb2\x8e\xc8h\xad\xc9ߋ\xf5\x90\b\x04\x02\x81\b:\x82\x94{:n\xf3!QG\xae\x89\xdc\xe3\xe98\b\x04\x02\x81@\x04\vI\x8aD\x9d\x91>\x12\xa4\\\xf2QW\xb6D\x11\b\x04\x02\x81\b&\x82\x14\x89:U}Lԑ\x85\x03\x8eKnZT\xd6A \x10\bDPZ\x90\xcfБ \x91\xa47\x88\xbf\xe9\xc8ߏ\xc2\x01\b\x04\x02\x81\b*\x82\x94\x05\x03V\x99\xe2\x8c\xde\\\xad\x80x:\x9e\x94\xc9\x16\x81@ \x10\x88`!I\xe1fm+\xb9P\r\x1fHRd\xbcN\xe4\xef\xc7X$\x02\x81@ \x82\x8a \x85\x9b\xf5u)IG%\xbeA\xd4M\x16E+\x12\x81@ \x10\xc1H\x92f7\xab\xddG\x82\x14V\xe4^\x9cE\x04\x02\x81@\x04#A\x8al\xd4\xc6>\b\x06\x98!\xac\xce\xcehE\"\x10\b\x04\"\xd8\b2\x0f\u007f}\\R\xd5\xd1}$HMr˾%\x1f\x0f\x81@ \x10\x88`\xb2\"'dÊ\\/\x1d\x0f\x15v\x10\b\x04\x02\x11\x14\x04)\xb2Y?\xf7Q\xbc<=\x9d\xd6\b\x99p\x11\b\x04\x02\x81\bt\x82\x94\xb5Y\xd7g\xa2&\xd2\xecj\x05\xcb\xf3]$I\x04\x02\x81@\x04\x13I\x8a\x92\x8fj\x12\xe9\xe9\x99 IaE\xee\xf0D\xbc\b\x04\x02\x81@\x04*A\x8ar\x0fP\xd89\x92\x05+R&\xc9\xfe\xfcX\xd8X\x19\x81@ \x10AA\x92\"Y\xa7y\x16\tRV\xe1\tE\x92D \x10\bD\xb0Y\x91\xf9踐\t\x01sO\n;\x97\xe8x@X\xa58\xbb\b\x04\x02\x81\bt\x92\xcc\xcf_\xdbfRzΓ\xabu\x0e?\x16\n\b \x10\b\x04\"\xe0\tR\b\a\xe4\xa7\xe3l\x16\xadH\xb9\x96\xb2\xb9\xb0Jqv\x11\b\x04\x02\x11\xe8$)\xea\"[f\xa2\x99rF\xf1\xc8wd\xf2E \x10\b\x04\"ЭH\xc8h=\x98\x05u\x1d\xb3\xab\xf58\xc6!\x11\b\x04\x02\x11,$)\xea\"\xbf͆\x15)K\xd1MA+\x12\x81@ \x10\xc1F\x96kMd\x97\xd5xdS\x99|\x11\b\x04\x02\x81\bTb\x14\xae\xd6\xc2R\\1+V\xa4\x9c\xe4\xf3!Z\x92\b\x04\x02\x81\b\x06\x92\x14\xe2\x01\x93\xb2(\x1e`\xb6\"\xcf\xd1\xf1\x10?&\xc6%\x11\b\x04\x02\x11\xb0\x04\x99\x9b\xbf>MG\x92\x87\fլ\xc4#\x17J\xc7υ\xb3\x8c@ \x10\x88@%I!\x1e\xd0>\x1b\xe2\x01\x82X\x85%ٛ\x1f\x13\xe3\x91\b\x04\x02\x81\bl+\x92\xff\xbc;\x1b\xe2\x01B\x8aNX\xa0\x95\xf91QD\x00\x81@ \x10\x01K\x92B<\xa0X\x16\x9a*\xa7\x97\xb4\x93BǫH\x92\b\x04\x02\x81\bd\x82\xcc%\xd5F\x8eʆx\x80YDఔ-\x8b\x99\xad\b\x04\x02\x81\bH\x92\x14D\xf60\xcfF\xb5\x8a$\xe7\x89\xe3c\xd2\x0e\x02\x81@\x04\x87E\x95\xeb\x1e\xfc\xde\u008a\xac,\xb9Y\xf5l\x90\xa4fJ\xda\xc1\xfe\x91\b\x04\x02\x11\xe0D\x91\xdb\xd3\xcf\xf7\xd2w\x97j#\x1d\xd9 HY|\xe0\x1b~\xdc\xfcx\x87!\x10\bD\xe0\x92D\x1eOV\xe5\xbdb=\xf3\xd7G踚\xcd\xd2\x0f\xb9\xae\x12ܵo\xf1cc\xd2\x0e\x02\x81@\x04(I\xb8\x17p\xc30V\xd2\xff?J\xc7\xf3\xf7\x8aE)\xc5#+Z@\x90rF\xecE:\x1e\xb8\x17-s\x04\x02\x81\bF\x82\\--\xf4eҳ0\x83p\x0eD<\xf2\xb7l\xcaЙ\xe3\x91\x1b\x90 \x11\b\x04\"\b\b\x92\xfe\xbc\x06V\xf5\xc4\xc4D;_\xe0\x8b\xdf\v$)\xb9Z\xf3\xd2q6\x9b\x02\x02f\xcd\xd6q\xe6yF \x10\bD\x80\x11\xa4\xa6i\xac\x1d\xd4ڵk\xed\x8b\x16-b\xf14UUC\xef\x11\x92\x14b\xe6E\xb2\xa9\xd3\xea\x89$\xdb\xf0ccf+\x02\x81@\x042A\xeeܹ\xd3N\xff\xd7X\xb6l\x19\x8b\xa7\xd9\xed\xf6{\x85$\x85Vk\xa4E\xf1H\xd9\x12-+\xacT\xbc\xeb\x10\b\x04\"@\tr۶m\x8e\xf7\xdf\u007f\x9f<\xf2\xc8#\xc6ʕ+\xef\x19\x92\x94kB\xe9\xeb?\x16\xb9Z\r\x89l\x85\x1c\x1d\xc6$\x11\b\x04\"\x90\b\xd20\fF\x90۷oW\x9e~\xfaiR\xbdzu\xf2\u007f\xff\xf7\u007f\xc6\xf2\xe5\xcb\xef%\x92\x14\xae\xd6\x17 \x1c\x9bM\xadV\xb3\x15y\x99\x8e\a\x05\x19\xe3݇@ \x10\x81cA\xae\x13\x16\xe4\x93O>I\xbe\xfa\xea+R\xb3fM\x02\xdcy\x8f\x91\xa4p\xb5V\xf7 \x02\x90U\x88\xcc\xd8\xcdH\x90\b\x04\x02\x11X\x04\x99\x8bZ\x90\x82 \xed`A\x02AV\xa9R\x85T\xadZ\x95\xe4ɓ\xe7\x9e!\xc9t\x04ͭ\x88G\n\xa5\x9ei\xc1\xbe\xc9@ \x10\x88\xa0\"HjA\xae\x87\xd5{\xeb֭\x8e\xa7\x9ez\x8a\x11\xe47\xdf|C*U\xaaD\xaaU\xabFr\xe5\xcau/\x91d\x1e\xe9\xe7\x9d\x16\b\x9a\x9bI\xb2\x17?6&\xed \x10\b\xc4]N\x906A\x90ԂT\x9ex\xe2\x89\xdb\b\xb2r\xe5\xca\xf7\"I\n+\xf2e:\x92-\xb4$\xc51j\xa3%\x89@ \x10\x01@\x90\x86a\xb8-\xc8\xff\xfd\xef\u007f\xff\"\xc8{\x9c$\xbf\xb1\xa8\xeb\x879\xe9\xa7(\x92$\x02\x81@\xdc\xdd\x04\x99K\"H\xbb\xecb\xadX\xb1\xa2\x9b \xefQ\x92\x14z\xad\x03,\x92\xa2\x93\xad\xc8T\xb0P\x03}\xfejԨ\x91\xa7`\xc1\x82\xf9\xe0\x15\x9f*\x04\x02\x11t\x04\xa9i\xda\x06aA\x8a,V\xb3\x05\x99\x1eI\xaa\xaaz\xaf\xc8ҭ\xb2\xa05\x96Yi\xe7<4o\xe6\xc7\x0f\xd4\x1a\xc9۲rK\x96,\x89\xb1U\x04\x02\x11|\x04\t1\xc8\xf4\\\xac^,ɒ\xfc\x98\xf7\xc1B\x0fd\x19DC\xb8Z\x1f\xb3\xa85\x96\xb9\xfcc\xbb\x10*\xe0\x9a\xb0\x015?\x1b6l`\xf3ӢE\x8bgʕ+ו\x8e7\xb8e\x89\xf2z\b\x04\"\xf0\t\xd20\f\xb7\x05\xf9\xf8\xe3\x8f{%HO$\x99\x96\x96\xf6\xd9=0g\xefyPʱ\"\xb3\xf5\xf7 \x99\xa2\x1f\x1f{\xec1\xf2\xc9'\x9f\x9cnР\xc1sH\x94\b\x04\"\xa0\t22227\xb5 7\xc2*\xbde\xcb\x16\xbb\x9c\xc5j\x8eAz\"\xc9\xfb\xee\xbbO\xd6n\xad\x17\x1b\x1b\xfbBrr\xf2{IIIo\a\xd3P\x14\xe5\xbd\xd4\xd4\xd4g\xe8\xd7\xecl\xa1\x15\xe9v\xb7\xea\xba>5::\xfaY\x98;:\xde\t\xa4\xb9q8\x1coEEE}@\xbf\xc6Ӄ\a\x0f\x9e\u07b3gOR\xa6L\x19\xf2\xce;\xef\\\xeaҥ˳H\x94\b\x04\"\x18\b\x92e\xb1~\xfd\xf5\xd7^-H\x99$\xe1pk\u05ee%&\xf5\x99`\x1e\x84Z\xdd\xc4J\xf0\xe3\xe9A2?\xec{\x1c9rD\x81{\xe3\xd3O?u\x13%\xddt\xe5ǧ\x0f\x81@\x04\x92\x8bu#w\xb1*\xff\xfd\xef\u007f3E\x900\xe0o\v\x15*DF\x8f\x1eM\xf6\xec\xd9\x03\xb1L\xb2cǎ\xa0\x1dt\x9e\b\xb5\xf2\x88?\x88\xf2\xe4ɓd\xf3\xe6\xcd\xd0Y% \xe7\x06\xce\x1b\xce\xffԩS\xee\xeft\xe0\xc0\x01F\x94\x05\v\x16\xbcԤI\x13$J\x04\x02\x11\x18\x04\t\xc9!Ԃ\xfcGX\x90@\x90\xbe\xc4 \xcd\x03\xfe\x16\x88\xf5\xf3\xcf?g\x16%\x1dF0\x0e\x90ރ\xd7\xd7^{͈\x8f\x8f\xb7\x8c$\xe5cP\xab\x9e\xcdߛo\xbe\x19\x90s\xf4\xca+\xaf\xb0ױc\xc7\x12\x9e\xe9,\x88\xd2\xc1\x89\xf2r\xabV\xad0F\x89@ \xeen\x82\x9c;wn\x1e\xba8\v\x82\xb4C\x92\x8e\xb0 \xbd\xc5 3\"Jp\xbd\x06\xe3\xf8\xf6\xdboI\xadZ\xb5Hhh(\xe9۷\xaf\xa5\x16\xa48\x96\xc3\xe1 ݺu#%J\x94 u\xeb\xd6e\x9f\x19hsT\xa7N\x1dR\xa0@\x012}\xfat\xc2c\xacl\x00\x0e\x1ea\x8e\xa0m\xda\xf3\xcf?O\xa6N\x9d\xea\x9e#\x18\x12Q2\x8b\xf2\xb3\xcf>\xbb\x1c\x11\x11\xf1\x1c\xba^\x11\b\xc4]E\x90\x90\xa4#Y\x90ʣ\x8f>j\x19A\x06\xf3\x00뚷\x04#+V\xac\xb8\x8dܬ\"ɫW\xaf2\x82\x84\xcf\n\xc4\xeb\x01\xe7\r\x16\xe53\xcf<\xe3&I\xf1\xddLD\xa9\x98]\xafH\x94\b\x04\xe2\x8e\xe1\xe8ѣ\xf7I\x04\xb9IX\x90H\x90\x99s'רQ\x83\x91\xe4\xbe}\xfb\xfcB\x92'N\x9c /\xbf\xfc2k?\x06\xb1\xe1@\x9c\xa3\xf4H\xd2\xfc]\x85E\xf9\xc9'\x9f\\\xc1\x18%\x02\x81\xb8\x93\x16\xa4P\x88\xc9#\x11\xa4\x1d\n\xbd\xb3\x13\x83\xbc\xd7\x06\xb8\x13a\xae\xde\u007f\xff}r\xe1\xc2\x05\xbf\xb8[!;\x14.\x15\x90q\xa0n$\xbc\x91\xa4lQ\x1e:t\xc8\x1d\xa3\xecҥ\xcb\xf3H\x94\b\x04\"\xa7\tRh\xa7B\x99\xc7faA>\xf8\xe0\x83hAfr\xf1\a\xeb\xaelٲ\xec5..\xceR\x92\x14\xc7Y\xbe|9#Ip\xeb\x06\xe2u\xf1\x85$=\x10\xa5\x88Q^i۶\xed\xf3\xe8zE \x109E\x90\xb9\xf9\xebCtQ\xda\x03\vҺu\xebX,\xa8jժ\x8c$\x91 3\xb7\xf8S\x8b\x87|\xff\xfd\xf7,\v\xd5\x1f$\t\x19\xa1\x82$\x03Ѻ\xf7D\x92\xe9͑\xa7\x18%\xb8^\x9b5k\x86D\x89@ r\x94$\xef\x97ܬ\xce\xe7\x9e{\x8eY\x90`\x11!I\xfa\xbe\xf8Cf뫯\xbeJ\x06\x0f\x1e\xec^\xf8\xad\x16\x12\x186l\x18y\xe5\x95W\x98\xbb5\xd8I\xd2\xecj\x16\x16\xe5\xc7\x1f\u007f\xec\xb6(\xd1\xf5\x8a@ r\x84(\x01t\xb1bm\x9dv\xed\xda\xe5\x00\xa2\x84\x18\x1b\x10%\xc6#}[\xfc\xc1\xba˓'\x8f{\xf1\xb7ZH@Q\x14\x12\x11\x11\xc1\xacU(\xff\b\x16w\xab\xb79\xf2\xe4z-X\xb0\xe0\x95\x0e\x1d:\xbc\x80D\x89@ r\x82(\xf3HD\xb9\x12\x16\xa3\x9d;w\xda_x\xe1\x05\xb6\xb0!Q\xfa6\xc0\x92\x84\xe9\\\xbat\xa9_\\\xad\x89\x89\x89\xec3@\x10|\x98\x11e\xa1B\x85\xae\n\xa2D\xd7+\x02\x81\xf07Q\xe63\x13%\xb5(\x15\xb0(\x05Q\xa2\xeb5\xe3\xccV!\xe2\x0e\xba\xb4V\x96\u007f\b\x12\xb9v\xed\x1a)R\xa4\b+\xfd\x80\xcf\v\x96\xecV_7\x13&\x8bR\xe1\xae\u05eb\x8d\x1b7F\xa2D \x109K\x94\x9a\xa6\xb9\x89\x12,J\xe1zE\xa2\xf4<\x84\x9e\xedk\xaf\xbdF\x8e\x1d;\xe6\xb7\x1aɧ\x9ez\x8a\x91L\xa0^\aOb\x02\x99\xb5\xb8\xcd\x16%\x10e\xeb֭\xd1\xf5\x8a@ r\x9c(W\x88\x18\xe5\xcb/\xbfl`\x8c2\xe3.'0/\xa5J\x95\"W\xae\\\xf1\vI\xca5\x92\x81J\x92\u0092|\xf6\xd9g3,\x01ɬ\xeb\xb5`\xc1\x82W\xbbv\xed\xfa\"\x12%\x02\x81\xb8SDi\u007f饗\xb2\x15\xa3\x84\x05\x12\xc8\x04\x16y\xd0\xef\f\xa6Q\xbbvm\xf6\x1d\x1b5jDD\xf7\x0f\xabI\x12\xa4\xee \xb3\xb5~\xfd\xfa,q'\x10\xe7\t\b\x12\x84\xd9?\xfa\xe8#2cƌ,\xc7nMD\xc9\\\xaf\x85\n\x15\xba֮]\xbb\x17\xd1\xf5\x8a@ \xee\x14Q* L-\n\xe7\xb3\xd9*+\xa8Ƌ/\xbe\xc8^\x1b6l讑\xb4:&9j\xd4(\xf6\x19Pf\x12\xc8s\x05D\x0f\xaf\xa2UVV\xe7\xc9\x13Q~\xfc\xf1\xc7\xd7Z\xb4h\x81D\x89@ r\x9c(\x97\xc3b\xb4{\xf7n\x05\b\x01\x88\x0f\x04\a2\xd3t\x99.`dܸq\xb0\xa0\xb1\xc6\xcb{\xf7\xee\r\x9a\x01Z\xadt\x13A\x8e\x1f?\xee\xb7\x1aIh\xb6\f\x9f\x01\x9f\x15\xe8s\x05\x8d\x97Ϟ=k\xc9<\t\xa2\xf9\xe4Zǎ\x1d_B\x8b\x12\x81@\xdc1\xa2\x84n\x14\xc2\xf5\xea\x8d(!\x86\xf6\xf0\xc3\x0f3\xedQ\x00,j\xa2\xd9n0\r\xab\xadGO\xeeE\xf1\x1a\xc8sd\xf5\\ɮWJ\x94\xa2\xcdֵ\xf0\xf0p$J\x04\x02\x91\xb3DI\x17\xa4e\xb2\xeb\u0557\x18%X\x92\x0f<\xf0\x80\xe5}\x16\x11\x88\x8c\x88\xf2\xc3\x0f?\xbc\u07b4iS$J\x04\x02\x91\xe3\x16%#\xca={\xf6(`Qz\x8bQ\"I\"r\n\xe2\xde:z\xf4(s\xbd\x16(Pະ(1F\x89@ \xfc\nJ\x8an\xa2TUU\x10\xa5\xe3\xb5\xd7^3\x04Qzr\xbd\"I\"rҢ4\xc7(\x81([\xb5j\xf52ܷ\x05\v\x16̇O2\x02\x81\xf0\xa7E\x99Wr\xbd.\x15D\t\xa5\t\xe9\xc5(\x91$\x11w\x90(\x15N\x94Q\r\x1a4`Y\xaf%K\x96̋O2\x02\x81\xc8\x11\xa2\xa4\x8b\x91 J\x05\x04\a\x80 \xcd1J$Iĝ\x80 ʓ'O*\x1f~\xf8!)\\\xb8p\x1c%ȷ\x91(\x11\bD\x8e\xba^e\xa24\xc7(\x85\xf87\x92$\xe2N%\xf2\xec߿_y\xf7\xddwA\xcc\xe2|\xe9ҥ_B\x92D \x10w¢\\\x02\v\xd2\u07bd{o\x8bQ\n\xbd\xce\xfb\xef\xbf\x1fI\x12\x91\xe3\x04\xb9s\xe7N\xd1Z\xebd\xfb\xf6\xed\x1fC\x82D \x10w\x9c(y2\x0f#H J\x18\x0f=\xf4\x10\x92$\"\xa7\t\xd2\x0e\xb7h\xe1\u0085OFDD<\x8e\x04\x89@ \xee&\x8bR\x11\x82\x035k\xd6$\xb9r\xe5B\x92D\xe4\xb8\x05\t\x04٭[\xb7\xff½\x89% \b\x04\xe2n!ʿ\x05Q\x82E\t\x8a;@\x98Bq\aI\x12\x91\x13\x04Y\xb4hѓaaa\x8c QL\x00\x81@ܕD\xb9o\xdf>G\xa1B\x85H\xfe\xfc\xf9ɪU\xab\x90$\x119B\x90!!!'\"##\x1fG\v\x12\x81@\xdc\xf5Dy\xe0\xc0\x01\xb6p-[\xc6\xf4\a\x88\xaa\xaaA\xa7\xdb\xea/\x04\xa3ƭ\x95\xf3&\x13\xe4\x8e\x1d;\xec܂<1h\xd0 t\xb1\"\x10\x88\xbb\x9f(\xe9\"\xb6\x18\x16\xb0͛7+\u007f\xff\xfd7\x9a=\b\xbfX\x90۷og\x1b\xb1\"E\x8a\x9c\x10.V$H\x04\x02\x91\x1d\"˕SDI\u007ffD\x99\x9c\x9c\xac\xd0\x17-%%E\x8d\x8f\x8f7\x12\x13\x13I|B\x02\xa1?\a숋\x8b\x83\xef\xe57\x12HLJb\x9f\x91\x99sJ\xa0s\nsK\a̱F\x87\x9a\x99A\xdfo\xf0\xf7\xfb\xfd\xfa\x88\x82\u007f+\b\x92Z\x90\xc7E\x99\a\xc6 \x11\bD\xb6\b\x8c\x8e`\xcaL111\x99\x8eS{\"Ȑ\x90\x90\xe3\x98Ŋ@ \xb2m=\x9a,\xbc\\9I\x94\x0e\x87\x03\x82\x92\xbb\xbf\xab^=\xb2[\xf7\xee\x9b֭]K\xc6O\x9c\xa4\xbd^\xe1+\xf2\xc9\xd7\xd5HA:>\t\x90\xf1\xe1\x97UI\x99\xda\xf5)\x99\xe6\xe7\xf8JyJ\xc4-Z\x93\x96a\xad\xc9G\x05\nd\x9a$M\x04)b\x90\xc7###\x1fC\x82D \x10\x96\x10\xa4\xa6i\xd5\xe8B3P\xfa\xb7<~\xfe\xec<\xfc57\u007f}\x98\x8e\xb3\xb0Ѝ\xfbs\xbe\xf6b\xcb\xf6\xa4|\xe7ޤD\x87\x1e\x013B#z\x90/\xbb\xfd@l\xb5\x9b\x91]\x87\x8e\xb8\x16z\x8b,I]w\x1d\xe7ҵ\xeb䍰\x0e\xec\xf3\xcav\xea\x95\xe1\xf9\x94\xeeؓ\x14i\u05cd4\xea?\x94l\xdd\u007fP\x9c\b\xf8\x81\ag\xf2Z\x15\x83\xea\x1dx\xf3\xf5\x98Xc\xe8\xb4\xdf\xd9q\xe1\xf8%\xb39g\xa5\xe81\x8a\xb6\xebJ\xaa\xf6\x19@ꆷ#%\x8a|Nbbc}&\xc9tb\x90n\x17+\x12$\x02\x81ȶ5G\x17\x99V\x92\xc52\"\a\x89\xf2~x\x8d\x8b\x8b{\x94.vW\xe0\xf3G\xff>G\xb5U\xaeE*t\xe8N\x8a\xb7\xed\x1cP#\xf4\xfbΤ\\D7b\xabӌ\x9c:w\xc1Rw\xab \xc9#'O\x13[\xad\xa6\xecsJ|\xdf%\xc3\xf3\t\xa1\xa3d\xbb.\xe4\xf5fm\t\xcci\x9b!#\x8c\xb3\x97.\x8bCƧ\xa6\xa6\xb6\x10\xd7bɒ%\x0f\x8e\x1e=:\xff\xd4\r\x1b\xee_N_\xe1w'N\x9cxVU\xd5y\xe2\r\xb3\x97\xae\xd0mu\x9a\x13[\xcd&^?;S\xf3\x06#\xa2;y\xb4t\x05\xe6\x82\xf5ՒL'\x06y\xack\u05ee\x8f\"A\"\x10\x88쐓{\xf1\xa0\x8b\xe0HXdn\xc4\xc4\x18g.^r\xc0\xcfԪ\xfc\xc5\x13\x99Z|\x0e\xf9\x84%I\x17\xbb]\xf0\xb9\u007f\xaeXm\xb7Uk@\xbe\xec܋\x14\xa7\x8bp\b,\xc4\x012\xe0\\K\xb5\xefƈ\xe9\x83V\x11\xe4\xfa\xcdhkc\x92\xfc8\x9b\xf7\xec%\xb6j\rI\xa5N=};/z>e)\x01\xc1\xdf?۴\r\xb1\xd5o\xa9O]\xf8\xb7C\xbdE@kc\x92\x92\xde6_\x1f\xa7\xd3Y\x1f\xbc\xbb\xf0\a\xc7Ϟ\xd3\x1bD\x0eR\x189R\xab\xaf\xa2\x8f\x9f\xed\xf3\xdc\xc19R\xab\xb8`\x95\x1a\xa4L\xf1\x10J\x92\xde-I\x99 \xb7m\xdb\xc6\b\xb2x\xf1\xe2\xc7\xd0Ŋ@ \xb2KN\xccJ8}\xfat~ѩ\xe3\xe2\xd5k*]\xf8\xb4\x17\x9a\xb6\x05\xa2T\xe1wt\x91\x9c\xe8/\x8bR\x8ey\xd2s`\xc9;k\xb6RK\x80.\xfe_t\xec\x11p\x04\xe9Z軐r\xd4\xfa\xfd\xa0U{R\xb5{$ILN\xf1\vI.Z\xbb\x9eؾ\x85\x8dDoR\f,1\x1f\xcf\r^\xe1\xfc\xcaP\"\xb7}ט|ե\xb7\xb6\xeb\xe0aU\x1c_QU\xca/\x91\xb9\xaf\xc5ŽH?k\x19\xff\x1d\x992\u007f\x91\x93\x92\xa3\xfev\x8bv\xa4bǞt#Е\x91\x9a\xa5\xf3G\x8fW\x86\x92\xe4\a_}˒\x9f\xbcY\x92\x9eb\x90!!!G\a\x0f\x1e\xcc,\xc8\xf7\xde{\x0f\t\x12\x81@d݂\x8c\x8f\x8f\u007f\x89\xfe|\x14\x16\x99݇\x8f(\xcfSr,Ժ#)Ҧ\x13y\xa3E;\xe3\xe4\xb9\xf3NF\x94\x9a6\xcdj\x8bRN\f\xa2\xc7\x1fǤ\xea\x8e\x1cS \x8eW\x9a.\xe0`\xa9\x14\x0f0\x82\x14\xd6P\x05J\"\x8f7nM\xda\r\xfb\x99(N\xa7\xa5$)0a\xee\x02b\xabјY\xdbŲHV`\t\x16\xa0֮\xadz#2d\xf2t\xe7\xcd\xd88q\xf8C\xe0Tp]\x93\xa3\xce\x1a=\xfa\xea\xf07\x82\\-'G\x13I\x16\xf8\xaa\xdam$\xa9y I\x98O1\xa7\u0082,R\xa4\x88\xdbŊ\x04\x89@ \xb2d\xb9\t\x92\xb3\xdb\xd5\xe2\xf4\xe7\x04Xd\x96\xac\xdfh\x87\xf8V\xd16\x9d\xd9B\b㓰\x0e\xe4\xa5fm\x8dc\xa7\xcf*|\xa1\x9ae%Q\n7\xab\xa2(=\xe1\xf8\xa7\xa9\xe5\xfa\\\xd36l\xc1/\x13\xd1=\xe0,H1\xe0\xfc+Sₘ\xdd\xe0\xc9\xd3\xffe\x01Z\x85~\xbfM&\xb6z-\x18\xd1e\x85$C\xe9(\xca\xe7\x1a,C[\xdd\x16\xe4ð\x0e\xfa\x92\xf5\xff\xb0띦(d\xe4\xf4?\x1c\x10W}\xb7e{F\xc6!|\x13\xe0\xb7\xf9\xf3\x91$=\xb9X\xc1\x82lѢ\x05\xc6 \x11\bD\x96I\xc9Mlv\xbb\xbd\x89Xp~\x99=\xcf\x01V\x02ī`\xc0\x82\v\x8bg\xf9\x0e=\xc8g\xe1\x1dɓM\u008d\xc3'O\x8b\x18\xe5\\q\f\xb9\xb1rV]\xbd\xf4<\x1a\xc1q\xa3\xa2c\xf4\xe2\xed\xba\xea\x1fR\xab\x06ܬ\xc5\xfc\xb9\x10\xe7\x80%\t\x84b\xabшL]xKEȰ\xd0\xd5\xea\xa0\x04\xd6r\xc00\xf2r\xb3\xb6\xec:e\x87\xb8\xc4\\C\xac\xf2\xf36\x9d\x98\v\xb6\xedБΚ\xbd~T!\xf6\bLJQ4'\xae\x89\x0f$)\x13\xe4֭[E\f\xd2\xedbE\x82D \x10Yv\xafr\xcbm\x10,0)ii\xa4\xeb\xa8q\x10gb\xd6H\xc9v\xb7ǘ\x8aq\xa2\x84\x853w\xa30\xe3\xc0\xf1\x13\xcc\xc2P5m\x91\xd9\x1a\xcc\nA:\x1c\x8e\xf2\xe2k\xd6,\xa6\xa4S\xb0`\xc1|\xf8\xb4#\x10\x88,\x11djj\xea3\xf4\xe7\xfd\xac\xebƱ\x13\x8e\xf7Z\xb67\xc0UW\x89.H\xde,\xb7b\xbct\x00╶z-ɮ\x83\x87]\xaeW\xc3X\x9d\x19\xa2\x14\u007f\x13\x1d\x1d\xfd\x8cH\n\x192e&Kԩ̓O\x02\x9d a\x00\xb9\x00\xc9\x00\xf1\x1f;s\xd6/j;p\\\x88!\x03\x19\x87\x04\x81\xe5\xed\x8d$\xa13\x8c \xc8-[\xb7\x82$\x9e6v\xec\x18\xf8\xf7FpO͘1\xe3!|\xda\x11\bDf\xc81\xb7 \xa5Ĵ\xb4\xc2\xf4gV\xac\xb7b\xd3\x16\a$\x94\x80\v53\xae͢\x9c(\xe1g[\xdd\xe6\xd4B:h\xe7\x16\xe5\x86\x1a5\xe6\xe6\xf1F\x94\xe2\xdfΟ?\u007f?]\xecX6\xed\xd4\x05\x8b\x15\x88\xdb}չw\xc0&\xe9x\x1a\x90\xfd\t\x96\xf7Ga\x1d\xc0b\xf7\vInݻ\xdf]#Y,XI\x12\xea$\xb9\xe2\x0e\x90$\xef\x16ôg\xdf\xf8\xbc\x98\x16\x1b\xcfr\xce\x1cׯ_\xff\xd4\x1cR@ \x10\x88\x8c\b\xd2-Nn\xb7\xdb븅\xc3\xffZ\xa4\xc0\xc2*'\xe8d6\xc1\x03\xde\a1*\xb0\xfe6\xef\xdd\xe7\xe0.\xc0\xcd\"\x89\xe7\xe8ѣ\xf7y8\x1fY\xc8|=Ϧu@\x8d\x1f,\xf2\xa1\x01X\v\x99\x91\x90@9:G\x1f\xb4lO\xaat\xfb\x81\xc4'&\xfa\x85$\x17\xaf\xdb@lՃ\x97$\xa1N\xb2\\\x89P\xb7%)\x13d\x99/\xbf&o7kK\x86N\x9d\xe9\xe4\xffDy\xf2\xfa\x93\xe6{\r\x81@ l\x19\x11\x12\x14\x85\xb3T~\x87\x83\xf4\x197\xc1\t\x04\t\xa9\xfe\xaeD\x8c\xacgn\x96\x89pūl5\x9b\x92\x8d\xbb\xf6\b\xa2\xdc\x01\xa2\x04\xe6\x1d=\xb7hY\xdb-\xa7\xa6\xcdb\uecbd\xfb\x1d`A\x02\xe1\x06\x13A\x8a\x01\x89/P\xca\x12>x\x04\xcbB\xf5GLr⼅t\xa3Ҕ%\xd6\x04#I~\xf8uuR\xb2X\x11\x12\x1d\xedR+ڰa\x03#\xc8b\xe5+\x90\xd20\xc7P\xb2R\xb5>\x99\xb1x\xa9§f\xa7\xbcIĕ\x00\x81@x\"H79i\x9a\xf6\a\xac\x1c\xd7n\xdc\xd4\xeb\xf5\x19\xa8A\r\x1cK\xd0\x01\x1dO\v\xea\x00!\xe6V\x8a\x11e\x13\xb2n\xdb\x0e;_\xc0\xf7^\xbbv\xedA\xf9\\Ă\xa5\xaa\xea\x10\xa67z\xea\xb4bk\xd0\xca\x00\xa2.پk\xd0\x11$\x8c/(IB\x92S\xff\xf1S\xfcV#\xf9\xe3\xf8\xc9$O\xc30\xb6\xd1\b\xb6\x98$\xc8ҽS\xb9\n)U\xac(IMM%\xbbv\xeff\x04\x19Z\xa12)\xf5}gR\x8c\xde;%\xb8\x10\x02\x94.\xad۶S\x94'\xcd\xe6\xf7\x9c\u07fb\xd7 \x10\x88\xc0#Hf\xc5Q\x92z\x82.\xc8;a\xd18|\xf2\x94\xb3`xG\xfd\xd5f\u07fb\n\xc1-\\L\x05Q2i3J\x94\xab6o\xb5\xf3\xf5\xfb`ll\xec\u007f\xf891\xc2t8\x9d\xdfs\xc9;\xad@\xab\b\xa3px'\x961\x1bT\x16\x90\x99$\xeb4'\x13\xe6-\xf8\x972\x8c\x15V\xa4SUI\xabA\xc3ɛͿwi\xc4\x06\xd3\xfc\xd1{\x02\xba\x81\xbc^\xf1\x1bR\xabz52{Ο\xe4\xcd\xe7\x9f!\x05BJ\x90\xb2tS\x05\x04\x19\xea\x16l\xe7\tRu\x9b\x1b\xf4^g\x16\xa5\xa2(}\xf9\xbd\x97\xcfߍ\xc3\x11\bD`\x90c.wY\x85\xd3\xf9\x11\x18\x8f\xb0X\xc0\xee\xdaV\xa7\x99\xf1i\xeb\x8e,A\xc7\x1f\x84\x14\u0089\x12\xac\x19(wX\xb6q\x93\x83\xaf\xe7Goܸ\xf14s\xf9*JM\xd6\xfb0>\x81Z\xb2\xbd\xf57\xe8\xc2^\xb1cϠ%H\xe1n\x85\xccӅk\xd6\xfb\xc5՚\x98\x9c\xcc\xf4ZA\xe8\xc1\x1f\xe5\x1fw\x9a$\x8bC\xbc\xbczm\xf2\xd9\xc7\x1f1\v\xf2\xf3\xb2噋5\x04d\nMu\xbc\xe0\xfa\xff\x94\xce\xc3Ga\x1d4\xf0\x9a\xb0f\xd4v{]\xb3g\x05\x81@ܛ\x04\x99[\xb8\x95\xd2\x14\xa5\x1a\xacǰH\xccX\xbc\x94\t\x84\xc3N\x1b\x16\x11\u007f\x12\x92\xe8x\x01\xc9*\x90H\xf2\xf7\xba\x8d\x82(\xf7$\xa7\xa5\x01A*pR\xcd\xfb\x0fUm\r\xc3ܵ\x90\xc1J\x90\x10ce\x9b\x86\xda\xcdȦ\xdd{\xd2\xd5\x1d\xcdN\xd2\xce\xd5\x1b7\x98L\\\xa0j\xdb\xfaB\x92Ek\xd6#\x9f\xbd\xf12)Q\xf9+\x12ڦ\x13)ޮ\xdbm\x04)o\xd4`S\xf2R\xb3\xb6\xa4N\x9f\x01\xaa\x9dǀ\xd3\xd2\xd2\n#Q\"\x10\xf76A\xdeJ\xd0Q\x94\xee.%\x1c\x9d\xf4\x9f0U\x01Y1\xb0ր$s\xc2b\x13\xae/p\xa1B\x8chњ\xf5\xee\x8e\x12\xd0h\xb8ﯓX\xefAV\x93\xd9&8j!\xd3%I:\x0f\xb0i\x80\x98\xe4ᓧnS\x8b\xc9.\x04\xd9\x1e\x87\x1a\xc9\xfa-\xd9\x06($(瑒\u007f\x9b\x8e\xa4X\x83f$$,\x82\x14o\xef\x99 o\xd3\xca\x05\x85\xa3z-I\xef_Ƌ{/\x06j\x83\x91(\x11\x88{\x93 \xf3\x8b\x9f5M\x9f\xe2\xea\x01\x19k4\xe97X\x85\x04\x1d\x88?\x86椔\x18_\xa8\x80(\x99\xd2L\x95\xfad\xfe\xea\xb5\xc0\f\xfa\xafs\xe6\xb1\xee\x11\xd9\xe9T\x11HCd\x0e\x83\xa5w\xf1\xea5kI\x92\x1f\aT|X\xb3\xe5\x0e݃\x94$\xe9\x00+\x19\xearM.\u058c6jPo\vYӓ\xfeZ(2^\xf7ϝ\xeb\xae\xe1\xc5\xd2\x10\x04\xe2^\"\xc8\xf8\xf8\xf8\xc7\xe8ϛx#\\g\x91\xb6\x9d\xf5'\x1a\x87\xb3\xba\xb9\x90;TV\x11\xc2\xd5f\xe0\xe7\xb7Z\xb4#m\x86\x8e4\xa0\xa7b\x89v]\x82\xd35\x98\x8e\xda\x0eā\xc1\xad\x1c\x97`m\x8d\xa4\xb0$\x97n\xf8\x87\xb9s\xcbE\x041I\n\xd7k&\xef?\x96\xf1\xfam\x03\xb2\xe2\x9f-\"\xe3u\x81\x14\xbbnjW\x04\"\xc8\t\x92\x15\xec'''\xbf\aɢ\xb0\blڵ\aJ*\x98\x18\xf5\xdd\xd0=#\x84[S@\x16\xaf\bm\xd1 \xac\x85Lo@#\xe2w\xe9\x06\xa1Y\xff!\xb7j$-*\xff\x10\xc7\x197g\x1e\xab\x91\f:I:\x8bb\xc2,\xe3\xbaVSc\xff\xb1\xe3\nW\xeb\x19\x8c\xd6$\x02\x11\xdc\xe4\x98G\xd4\x1b\xa6:\x1c_\x82\x14\x17<\xfcs\x96\xadtؾk\xe2\x8e\a\xdem\xe2\xe0B\xc6\xee^\x1a\x90\xed\xfb$\xb5\xe8{\xff2\xde\xf2\x1aI]g\xc71\x8e\x9f=\xa7=ب5\xbb\xd6%\xb3!\f\x11\x8c#D\x92\x05|\xb7e{\xe3ҵ\xeb\xccGmw:\x9b`|\x12\x81\bb\xeb\x11\xe0p8\"\\\x16\x05!C\xa7\xcc`= Aq\x05\x16\x85\xbb1\xdew\xafY9!\"\xb3\xb5^\v\xf2\xcb\xec\xb9\xfe\x10\x11p\x1fl\xf3\xee\xbd*\xc4\xdf\xe0\xfa\xdfK\x96\xba\xaf\xf1qH\\\x83:\xd2\x1a=\xfaiI)\xa9lΒ\x93\x93K\x98c\xfa\b\x04\"\xb0\tҽ\xebujگ,e/.\x9e\x84\r\xfaI\x85\xc4\r\xb7\xee)\xba\xdc\xee\x9a\xc5Y\xd4H\xce[\xb9\xc6\xd2x$\x84\xd7\xf8\xeb9:v\xc1\x0f\u007f._\xa5B\xd9MF\xad\xce\xee\xd5\x01^\x15\x98\x17ذt\x195Nh\xbc&\xd8\xed\xf6\x97ТD \x82\x88 \xa3\xa2\xa2\x1e\xa2\xd6\b[qO_\xbc\xa4\x96\xef\xd8C\aW\x1b\x94S\x14Cr\xbc\xebH\x92e\xf7~טlع\xcb\xd2\x1aI\xe1b\xa7\xd8\x18\x17\x17\xf7(}=\xcfZ\x8dM\x9e\xeed\xad\xc6:\xf5B\xb7\xab'\xa2\x84\xd2\x10jq\x8f\x9b=Wd\xbc\x1e\x934\x861F\x89@\x04 9\xba\x15t\x12\x1d\x8eׁ\x1bYk\xa4}\a\x1c\x8f5\x0eg٢\x95\x82\xbc ?\xe0-IJZ\aO\x9c\xb4\x9a$\xc5\"\xbf\x04\xee\x8d\xe4\xe4\xe4\xf7!'\x05\\\xef-\a\x0ewBfsЉ\x9d[\xe5z\xe5\x1a\xaf\u007f\xaf\xdfh\xe7}P\xe5\x86\xe1\x98\xf1\x8a@\x04\x10A\xe6\x15\xbb۔\x94\x94r\xf4g\x16L\xf9k\xf5Z;X'B\x17\x14\t\xf2.\x8dI\xb6u%\xee\xb0\xc3e\x19\x06I\xc9$b\xf8h\x15:l@\\%\x14\x17\xbb\xbb>\xb3\x15\xc8\xe9\xfd\x96\xedI\xfdȁ\xc4\xeepXI\x92\xba\xd0奨\xc5\xef\x9b\xfc\xe2\xbe\xd14m\x12\xcbxݳO\x81\xf8\x1b\xb8|\x99\xf2\x0f^\x97\u007fŋA`\x1f\x84\xf6\x13\x92\x92\\\x81^\x87ZN\xcc'\xaeF\b\xc4\xdd\x15w\xcc#7\x87U\x14\xa5:tπ\a\xf7<\xdd\xe9~ե\x8f\x06\"\x01\xf7\x8a\x9c[0X+P\xab\xfaX\xa3֤\xfb\xe8_\xad.\xfd\x90}\xb6\xc5\xf9=\x94O\xde\\\xd1\xcf\xfb\x87\xd7\xce*\x10\u007f\x83\x8d\x15^\x17\x93\x95\xdf\xc6U\x1abk؊\xb4\x1b6JX橉\x89\x8e7ТD \xee\x1e\x82\xcc'\xc7A\x92\x92\xec!\xf4\xff\xff\x11+\xe0\xaa\xcdۜ\ufdca\xd0\xdfnю%\xe8 A\x06Vm\x1eĽ\xc6̚cu\x8d\xa4(\xff\x80\x18\xb5X\xd0\xf3\xf1\xd7\a\\\xf7Q\xd2\x13\xd0 \x04\xfeh\xd8ԙN\xf0@\x94\xef\xd0\x1d\xadI\x0f\xeepV\x1aB\xaf\xd3\xc8\x19\u007f\x88\x8c\xe13Go\xde|\x18c\x94\bĝ%\xc7ܲK'69\xf9](u\x13\xab\xe0\u0383\x87\xb4\x06\x91\x03U\x88?\xc2\xc3\\.\xd8:\xce\xdf\x03$\xc9\x16_z\xfd\xe6\xaeXe5I\x8a\xce\x16\x97\xe9xLr\xd3\xdf\xd6T\x18zx\xd2\xdf]Wu\x9d\xb4\x192R\x03\xd7b\xe9\xf6ݐ(=\f\u0600\x82k\xfa\xafUk\x84\xc6\xeb:\xf9Y\xc5\x15\v\x81\xc8Y\x82t\xbbq\xa2SS\x9f\xd5t}\x8cp\xa1\x1d=}F\xef\xfa\xf3/\x8c\x1c_k\xf6\xfd-\x81\x00\\\xc8\x02\x93$\xab\xd6'\xeb\xb7\xef\xb4:\xb3U\x90\xe4>9\x96\xcd_ߦ\xa3\n\x1dM\xe9hM\x17\xfb\xad\xf0\x87\xd7n\xdc\xd4\x1ek\x1c\xceH\x12\xe3ٞ\x85\xf8Y\xc6\xebw\x8d\xa1\xab\x8a\u0089\xf27>\xa7y\xcc\x1b\x10\x04\x02៸\xa3\xdbus\xf9\xf2\xe5\aTU\xefC\u007f\x17\xcfL\x82\xa8(2h\xe24\a\xf4\xc0\xbb\xaf\x91\xab\x19\xb1\xd0_Ņ,0\x17^\xe6n\xadј\x1c8v\xc2Ras\x89$\x97\x9a\\\xad\xafґ\xe8\xa19\xb3\xbeu\xef~\xd6s\xb2\x1c\xba\\\xd3\xdd\xd4\xc0\x06\x02~\xce\xdb(\xcc8u\xe1\xa2\xeaJ\xe4qt\xc0\xf8$\x02\xe1\u007fr\xbc\xed\x01s:\xb5f\xdcUF\x12SR\xc9\xc4y\v\x14[\xc30\x96\x98\x03\x0f*\x10\xa4xpq\x01\xbb\xf3\x8bgV\xae\x03d\x93µ\xa4\xd7\x15\x12\xaf\xfc\xe5n\x15\x96\xce\xfd\xfc\xf5\x15\x90$e\n\x03\x1b\xfe\xb1w\x1b5N\xed>\xe67\xa3q\xbf\xc1\xe4\x93\xd6\x1d\xc8\xe7m:\xb1r\x14\xbc\xae\xe9_k\xd8D|\xd8*\x82\x94\x8e\xe8\xa6\xc5\xc4dz\v\x96\x9a\x9a\xfa\x15\x9f_\xccxE ,&\xc8ےr\xe0a\x83Ư\xac&K\xd3Ȃ\xd5\xeb\xd4\x02\xad\"4\xd0\xf6\x84r\x01p\xf7\x94\xb4\xb89r\x88\xe9\x15G\xe6\xe6\x0e\xca\x042ۂ*\x84w\xff\xf8<\xbc\x13)F\u007f\x8e\x8e\x8b\xf3W\xe2N\x0fa\xe5\bkRUղ\xf0\x0fW\xa3n\x18\x8f7\tנ\xe9va8\x0fV\xaf\xe9߹\n\x86M\x1d|\x87\n\x1d{2\x01\x88V\x83~r\xf2+\xe6\x8cKN~\x1f-J\x04\xc2:r\xcc-?Liii\xc5\xe8\xff\xaf\x16+\xdc\xda\xed;\x95\xaa\xdd~\xd0!^%\x1eJ\u007f)\xbe\x00\xf9\x96\x89\xe8\xc6:\x83`l3\xf3m\xae\x1ejԚ\xdc\xdf(\x8c\x15\x9f\xfbJ\x94!\\\x8e\x0e\xbaN\xd4\xfba\x00IMK\xb3ZH@\x047\xeb\xcb\x16\x8e J\xa7\xd3\x19\xe1\x12\x14\xb8\xa8>Ը5\xfb\x1ep\x0f\x84\xf8\x91 \xe1\xf8_\xf0\x0e$\xc1\xa0\x94\xc44^k7\x83\xee:\xa24\xe4\xd2\xf9\xf8x\x96$\xb5gϞ|\xb8\xca!\x10Y'G\xb7\xe5\xe8p8\xde\xd0u}\xb6X\xddv\x1d:\xac5\xeb?T\x81t|(2\x87\x9aG\xb0\x1c\xfd\x11w\x04\xf2\x05b\xa4\x96*s\xf9=F\x17K\xe1\x06\xc4,Y\xdf\b\xf2UJr\xddF\x8dӻ\x8f\xfe\x95\x89ȃ+\xce\x17kɭ\x0fڠ\x15\xbc\x1f\x12@\xac&I\x81\x92f7\xa0\xa8\xb5\xa5D9\x05\xfe`\xdd\xf6]\x0e\x88\x8bV\xf0\x13\x81\x15\xe3\xea5/6m\xcbH\xa5\xb8\xbb\xa7e\xe7\x80\xf7\"T\xee\xdcˀ\xae*\xb3\x97\xaeP\\\u05cfl\x96\xe6\x19KC\x10\x88\xacZ\x8e\xa7O\x9f~\x92\xfe\xffH\xe1\x16;y\xee\x02\xe92r\xacb\xfb\xae\xb1\x01i\xf8\xb0`\x81\xa5\x01\vL\x88\x1f]F\xb0\xb0w\xfci\f\xb9\x1e\x1d\xadm\xdf\u007f\x80-\xf4`Y\x96D\xf5\x95\f\xad\b\x96pC\t\xee\xc7\xf1\x93\xdd騃'O\xd7Xw\r\xba\xb1\xf1\xb6\xa9qg\xb6\xd6jJF͜mu\xb3eC\xd2n}S\xb6 Ž(~\xa6\x9f\xb7\x1d\xfep\xca\xfc\xc5v\xa1\xd4de#\xee\xa2\xdcb~\xbaI8\b&\x18\x13\xe6-P\xe1\xf7\xd0\xe0\xb8T\x80\x97\x9a\x84\xf0:JxVA\x8ca\xe3\xae=\x0e\x1e&\x99&6#X\x1a\x82@\xf8F\x90\xee]\xfc\xb6m\xdb\x1ePU\xb5\xb3\xc8X\xbdz\xe3&\x191}\x16\xf4zԡ+\x03,(\xb0\xeb\x0e勱\xbf\x1en\xb0\x82J\xd0\xd7g\x9a\xb6!\xe7\xaf\\\x15\xf1+\xf2\xe7\x8aU\x1aX\x15\xa8\xbe\x92\xfe\x80\xc5\xfd\xd3\xf0\x8e\xf0\xaa'\xa6\xa4\xc0\xb4\xc1\u007f\xd24Vk8B\xcfG\xadrom\xc9\xe0ڂ\x97\x80Y!\xcbVZ\x1d\x8f\x14\xc4}C\xaa\x91\xccc\x8e\x85\xc3krr\xf2S\xfc\xef\x80Ĝ\x90\xdd\n\x16.(̈́Z\xb0\x11\x83\xfb\xf9u\xba\xe9\xab\xdbg\xa0\x91\x9af\xe7\xe2\x17[5(\xa3\xa8\xe8\xa7\x10BNo\x98`C\t\xc3V\xaf\x85q\xec\xccY\xe6zU\x14\xa5\x87ys\x82@ \xfeM\x8ey\xe5\xc5\xc9\xeet6\xa6\xff\u007f֕\xb1\x9aB\xa6-\xfc[y\xb6i\x1b\x03\xac\x8f/89\xe6T\u007f?\xe6\xea\xa3d\xb8`\xcdz\xf6P\xdb\x15e\x1a}9\x00?w\xfci\xb4\xf20\xb5(]\xc9(H\x8a\xff\xd2\xf3\xec\xc0,\ac\xf7\xa1#N.z\xdd\xdcn\xb7\x97\x82\x9f\xe3\x12\x13I\xa5ν\xf4w[\xb6c\x04\x91\x91K\x91\x15\xa7WkH\xd6l\xdd\xee/\x92<,\u074b\xff\xaa\xe1\x13=\x12\xd3\xd2Ҋ0\xa6OK#U\xbbEj\xaf5kˮ}v\x92l\\\xba\xb4<{\xb7^\vr\xea\xc2E\xde\x05̈\x82\x1f\x86O\xfb]\xb3\xd5iμ\x19\x81\x9e\xcc\x03\xcf\b<\xbb\x9f\x84u E\xbf\xef\xa2߈\x89e\x172MQ\xaa\xf3\xb9\xc7D\x1e\x04B^\x8c\xcc\x1a\xab\x9a\xa6U\xa2\xff\xbfG\xac`\vV\xafS\xe8.\x9de\xac\xc2C\xe6j~\xdb9Gb4\xb0xA\xdc셦mI\x9b\xc1#D+\xa5\v|\xb1\xfc\x1c\xfe'*&\x86|\x18\x16\xa1\x15\xa1\xd6\x04\xba]=t\xae\xa7\x9b\v(\xc9\xe1Ķ\\\\\xe74\x87\x83%Ü\xbb|E\x85\xce\x11\xa2\xae.$\xa3VL\xf4\x1e\xd8s\xf8\xa8\xd5B\x02\xc23\xb0ʓ\x15)\xb9\xff\xf3\x88\xce @\xf4\xecF\xb8r\xd5x\x86n\xdc\n\xb6v\xb5\xd0\xcaεw5/\xa6\x1b\xb1\xd5k\x1d\xfc\xfb\xfd\x12\x1f\x1f\xff2\xec+\x1c\x8a\x93|յ\x8f\n\xbdN!\xa1'ЉRH\f\xd2M/i\xf2\xe3\x10ͩ\xb2\n\x1c=!5\xf5\x13\xb37\t\x81\xb8\xd7-G\xb9\x9c\xa3 ,Tb\xe5ڸs\xb7\xf6U\x97\xdeNX\x18!\xe5\x1e,\tXDsZ\f\x80\xd7\xe6\xe9t1g\xabr\x8a\xc3QV\x9c\xb3\xa2\xaa\xbd\xe0w\xdb\xf7\x1f\x00\xd1k\xa3bGԂ\x95c\xb8\xafP+\xaba\xdf\xc1\x1a/\xfa\x8fKIIy\x9a_\xfb\a8ٌ\x82\u007f\xd8s\xf8\x88\x03\xae3\x10\x8d+\x11\xea\xdf.[\xf8\xfd\xa3\x8d\xc3\xc9i\x97\x95\xe5\x0f\xb5\x9dI\x9e\\~\xe9\xc5\xc9\xd2\xec\xf6A\xf0\xa6m\xfb\x0e\xa8\xaf5\xff\x9e\x94\xa2\xe7W\"\v5\x93\xf0]\xc1\x12}\xa2I8\xe94b\x8c؈\x9d=q\xe2\xc4#ܣ\x02J?\xe4\xf8\xd9s*\xb5&\r\x16^h\x17\xf8Y\xd5p\x8f0\x17:\xb5\x90\u007f\x1c?Yd\xbc^ONN~\x12-J\x04&\xe5H;\xc5\x1b\t\t\xaf\xd1\x05o\x9aX\xb1\xf6\x1f;\xae\x87\r\x1a\xaeڪ\xd67\xa0\xc9-\xb8\xeb\x84rGN.\f\x10g\x82X\x19\xb8\xf8\xfeZ\xb9F\xc8j\xfd\"v\xba\xc2%G\xad\xa3u\xf0o\x13\xe6·D\"\xf6\xe0\xdf\xeb\xaa>\"\x99)o\xa3\xd6\xe4\xcc\xc5K\x1aw\xa7}+\x16?\x99x\xe8\x9c.\x81\u007f_\xbeq\xb3\x03\xe6\xdaS\xec\xad\f%\x06\x88k\xc2\xf5\x8f\x8a\x8e\xb1\x9a$\xc5\x02\xddۼ8\v\xab\x92\xbe\xbe\a}&\xe9\xe8K\xc7x:\xe6ұ^\x1c\xa0ǘߌ\xffQ\x02\a\x02ˊH\x02xE\xdej\xd9N\xbbv3\x9a\x1d/)))D\xdeLh\xba>\x1d~\xbfh\xedz\xd6\xfb\x14,\xf4\x90 \xd9L\t=\xdei\x8b\x96\b1\xf4]\xe6\xf9G \xee)\x82\x14?Ӆ\xe0\u007f\xaa\xaa\x0e\x05\xa5*x2N\x9d\xbf`\xf4\x197\xd1\tD\xf3|\xd36\xccr\xbcS\xeeK\x97%Dw\xf7t\xe1\v\x1b8\\X\x1a\xe7A\xfaN<\xbc\xc2\n\x8e\x8e\x8e~\x06\xdaS\x82\xad\x04\xae\xa3g\x9b\xb4aV\xd4ݒ\xb2\x1f\xcaGN~&\xcbf\xa5\xd7q\xf1\xda\r\xc2u(\x94l\xf2ʞ\x04xݰa\x03x\x14\x0e\xba\xb2F\x17\xb9\xdaPI$ \\\xdeo\xb5hG\xea\xf4\xe9O\x92\\\xc9?\xfe\xb0$\x1b\xc8$)߫\xf4\xe7C\xff\xf2\xd1\xd2\v~36\xd6\xd8y\xf0\x10#qP\xdf)\x99IK\xd2]\xdaB7\x84\xff\xec\xda\xc36b\xf4\x99\xe8k\x8e\xd1C\x1d!\xfd\xf94\xfc;{F\xea\xb5d\xcfG0\x94\x1e\x85\xf0g\x8dǛ\x1d<\x18;[\nǠ\xc6+\xe2\x9e!H\xf6\xc0G\xd2Ňw{\xbf\xc9R\nc\xe3Ȉ\xe9\u007f8\xa0\xeb;d\v\x8ar\x8e\xacXcBX\x19v\xf40\xb2B\xb2\xa2\xb9/$R@\xd9\x02\xb5\x84t\xae9Y\xc1\x1c/\x11\vjjjj\x15ƢW\xaejO7i\xe3\xee^\u007f74)\x16\v\x91?\x8b\xdf͉:\xa0\x95\xdbm\xd48\xe1:<1w\xee\xdc\xfb<\xb9.\x85k\x93\xce\x1fl4\x98\x19\xd5\xef\xb7INP\xb5aD\xc9\xef\x01\xb8\x1f\x1eo\xdc\x1aܑ\x84ǯ\xac\xd4m\x15l[J&o\xbe@\xb3\xf3\xa5\x84\xfc\x13\xfc\xc1\x95\xebQ\xc95{\xf5wT\xe9\xda\xc7\xf1E\xc7\x1eN\xb0n\x9fl\x12N\n\xd3\xd7̺Z\x8bJe-ç\xce\x14\xd6\xec6\x0fV,\x9b\xa3\x84\x84\x84\x82\"\xd9\t$\xde \x0eZ&\v\x96\xeb\xdd8J\n\xc9AJ\xfe\x87O\x9eRx\xc6k?O\xeeo\x04\"\xa8\t\x92\xbb'\xd70\xfdF\xbb\x9dL_\xb4\xd4\xf9l\xb3\xb6\xaa\xad~+FJ\x15y\x87\x8e\xac\xc4\xf5\xe0=p\fx?,\xb2\xb6\xba\xcd\xf9\xef2\x9f\xe8\xc02)k6\x81\x96L\xa2\xcdτ\xf4\x1eXI\x95\x85\xc5\xd7Vn\xda\xe2`)\xfb\xbcWe\xe8\x1dڝâ\x03\v\xe9Ga\x11F\xa1\xd6\x1d\x8dw[\xb6\xcf\xf2\xe6\xc3\xd7\xcfdB\x0em:\x93\x8f\xc3:hB:.1-\xadpF1&i\xa3Q\br{\x80\x04\x9b\xfe8D\x85\xa4\x0e\xb0ȋ\xf2\x8e\xf7\xb0\x80\x0e\x9f\xf6\xbb\xbfj$\x81(\xdf2߫\xb2\x15C\x89r&\xfc!X|\xa0\xec$\xee9Q\xd2\x10\x92ɹ\x82k\x01\xc2\x14_u飧\xb8\x14\x84\x94\xf4\x9a\x13\x8b\xff\xa7\x1b\xb5v,$q\xf4\xb8B\xc9\xd5`\x19\xc1A\xd2P\x1b\x12\xb3`\xb3Q\x90ޫW\xa3n\xb0\x8d\x8b\xddn\xaf\x87\x89<\x88{\x81 \xdd\xdd:\x9c\x9a6\x1an\xfe݇\x8e8^i\xdeN\xb5\xd5j\xc23\x17{dKU$\x84\x93a\xd16\x9d\xc8\xfbt\xe1ټg\x9f\xba}\xffA\x15~\a\xa9\xe6\x99)\x17\x81\xbf\x85D\x8c\xe6\x03\x86\xb9\xe5\xb3\x0e\x1e<\xf8PzI\x1c&\xb7\xdc>x\xc3\xc0I\xd3\x14 j\xb1ȇ\xe6\xb0\x05\t\xf3\t\xee\xc9Z\xbd\xfa\x1b\x97\xafG\x19Q\xd11z\xe3\x1f\x87\x18\xae\x9aĞ~!Jw\x97\x8ej\rɶ}\xfb\x9d\xdcu\xd8×$\f\xf1\xef\xd4z\xa8\x06\xef\xbb\x19\x1b\xa7\xd3\xfbB\x03a\xecr\xdc+\x00\xa5?3\x16/u\x13\xa4E$)\xacH\bt>n&F\xf3\xf5\xa5\x9fɤ\x10Wo\xd9f\a\v\x10\xe2\xcf%\xb2\xe0\xad(\xc1\xbd\x1d\xb0\x91;x\xfc\xa4\xab\xac\xc8\xe9l\x9e\xde\\\xf18>;/\xcd0\x16\xc2\xdf\xcfZ\xb2\xdc\xc1\\\xd3 h\xd0&84^ac\xf9\\\x936\xa4N\xef\x01Z\x9a\xc3\x15\xa2\x84\x92\x1b$JD\xb0\x93${\xe8鮰\xbe+\xb0w\x05D\xa2uX\x00\xad(\xc2gJ\x1et\xd1\x11J\x1e\x1bv\xee\x161&\xb2\xe3\xc0!\x10\x1e`\v\xad\xaf\xee\xb02\xaeZ5\xfd\xd4\xf9\v:\xefXPٛ\xdbG|\xc7dEy\a\xb8!\xd5\ue024\x1f\xed=j\xbd\xc1b\x98\x93\x19\xaf\xf0=as`\xab\xdf\xd28~\xf6\x9c\x9bIb\xe2\xe2I\xd5\xee\x91:\xc4{\x85\x95k\xa5%\xc02\x15\xbfkB\xc6\xfe1Wl.6y\"\x9a\f6RBP\xbc;\xbc\xf9\U001052fa\xada\x18+\ra\tTԲ_\xfe\xcff\u007f\xc5#\x8fe\x14\xfbr\xc7O\xe9+%J&\xa8?g\xd9J\x87\xed\xdb\x06l.3%\xd6\xce\xcb\x1f\xe0\xfb\x88d\x15z̿\xbc͓\x98\x9f\xb8\xb8\xb8GAW\x03\xde\xd7~\xf8(\x15B\x02\x15\xfd\xb4\xf1\xb9\x13eC̋S\xa79\xe99\xf67q\x1f\xc5\xd2g\xf0Yt\xbd\"\x82\x95 \xd9M\x9d\x92\x92\xf2\x01\xacmv\x87Bj\xf4\xe8\xa7A\xbd\x17<\xd8 \xb7\x15j\x01I\xba\x16\xe8\xc6Lp\x80[0k\xe9`;\xee?\x97\xafr@\x87\xf4J^\x88\x01v㕹\xaa\xcb\x1fK\x96+|1\x9e\"%\xea\xe4\xf2\xf2]\xf3s\xb7+\xab\xa1;v\xfa\xacN\xad\x1f\xa3t\x0e\xca\xd6\x15\x13\x8b\f\xdd,,^\xb7\x81I\xb68\x9c\xce_\xe8\"ӊ\xe5\xd7GG\xeb\xa5#\xba\xeb@\xde\x15\xb2Y\x00o\xb6\\!a\xa9F\xcf~\xbaSeɬ7/^\xbc\xf8_\xb3\xfb\xd2פ.EU\x87\xf0\xd2\x1a\xa66\xc36@\xf5Z\xd0M\xcfAWҌf\x19I\x8a\xb8\xe9\x1a\x1fH\x8am\x84\x12\x13\x13\x1f\x87\x12IxӸ\xd9\xf3X\xa2ї\x9d{\xfbL\x90\xb0i\x82L\xd8f\xfd\x87\n\x12\x88\x8e\x8a\x8azʗ\xb9\x92ܮ\xac3ɍ\x98X\xa8\xd15 i('\xc55\xfc\x99d\xc6b\xb5\x9d\\\x1b\xae\t\xf3\x168\xb8\xeb\xe0`dd\xa4\x88\x15\xe7\x15\xf1b\x0f#O\x16F^\x0fC\xfewL\x1cB\xf8\x8d \xd9M\r\x19\xa1\xf4\xe73p\xaf\x0f\x980\xd5\t\x8b\x1d\x90Qv\xe3u\xa12)\xd0\xddt\x8f1\xee\x9dg\xf4ٳg\x1f\xdd\xe3j\xabŊ\xea~\x9c0\x85\xb9?+\xa5#!V\x8cǽ\xeek\x18F\x1a\xf7\x1b,\x8a\xcb/\xc4\xc6\xc6\xfeG\xfe.\xbe\xc6^)\xb9N\x82\x03\xfc\xb5j\x8dj\xab\xd6 G$\xc5\xe0{\xb1LI:\xbf}\u007f\x9b,\x16\xffゼ\x15E\x89\x84_\\\xbczM\xfd\xb8uG\x1d\xe2\x95B\xef64\x9b\x96+,\xfe\x85\xc2;\x92\x13gϩ<\x964\x90\xbe@!\xfcǞ\xe2{\x9e,I\xfe\n\xef\xf9\x94npJh\xba~\x89\xf5qܸ\t,J\xe6\x02?q\xee<'I\xcd*\x92\x14e\aS|$)\x96ݜ\x9c\x9c\f\x1e\x03\x16H\xec?a\n\xf3V\xc0\xfd\xe3\xcb=\v\xf2\x86/7\xff\x1e\xean\xd9\xf2\x1f\x9b\x94Tė92o<\xe9\xe6\xa7=\xaf\xd3\xd4\xc0\xa2\x15\x9b\xb1`)#\xaa\xc4U\xae\xa04\x88_\xf3\x85\xbez&\xfc\x15.B \xac\xbc\xb1rKu\x84̢\x9b\xbfj\xad\x02\x0f3X}\x965t\xa5\xbb\xe7wZ\xb4#U\xbaG\xaaɩ\xae\xf6It\xa7\xff\xb98\x0fj\xc1\x16\x80\xe7\x8b.(,\xce\xf1RS\x97\x84\x98\xd95%\x92/@7\xf3\x04wQRR\xa9\x92\xd9\aRU\"\xa2\x0e\x19\x11\x90\x98_\xfa\nēj\x8e\x17nݻ\x9fe\x80\x82K\xfd\xda͛\x84\x97\bXM\x92?d\xb4\x192K&\x02n&&\xbe\x0e\x16\xb3J\xad\xda\x0e?\x8d\xd6A8\x012\x88\xbd\x16\xcf\xd3g`\xde\xca5\xe2\v@\xa3\xf0\xcetSՖ\xbe\xbe\x9b\xd1\xfd&\xcd\x13X7_\xd0\x1d\xe1\xe7\xf4}\xaeҙ\x05\u007f\xab\x8f6n\x1d4ٮ\"3\x1b\xe6\x13b\xd1\xfb\x8e\x1e\x13\x1a\xaf\xc32x\xfc\xf2\xb6\x1d=:\xff\xaaU\xab\x1e\xda\x03\x9b\xe4\x93'\x9f8\u007f\xf3\xe6\xff]\xbbv\xed\xc5\x1b7n\xbc\x16\x93\x94\xf46\xac\a\x90 \x96\x94\x94V\f\xa4\x11!c]Ѵo(\x01\u007fG\xb7]\xf5\xe9ks\xe2\xba\x16\x1d њ~^-\xb3\xa7\b\x81\xb0\xd4ͪ\xa8jO\x9e\x8d\a\xf5\x8f\x96\xa9\x85\x84HY\xabtq0\x84\xe8\xb8\xdd\xeel*\xdcR\x92\x05U\x9be\xdf\\\xbb\xaeS\x12\x94\\S\x9d݊',\xe6U\xa7\x19\x19>՝=\x99\xc2k\xf7fI]\xeas\xfb\xf2\x9d\xe9k!\xba1H\x10rg#g\xfc\xc1J[\x80\xc42\x93\x12\xefk\t\xc9m\xba\x9fu\x9b\x93#\xa7N\xab\\#\xb5\x954\x17\xb7\x12?4m<\x13*=yJ\x81\xf3\x12\xad\x99\xb2J\x94\xa1\xfc\xf3!\xd69z\xd6\x1cPJ\"+7o%\xf6[\x8c\xd9\xcb\vI\x8aVT\x85\xc4\xe4\xafٺ\xc39s\xf1Rp\x9f\x93\x1a=\xfa\x12\xd8\xdc|׳\x1fIL\xb6\xbcFRx\x1f\x1a\xa7G\x92&\xeb.\xd7\xf5\xebןL\xa0\v-\xddp\x14\xa7\xf7\xf7\"\x16\xef\x8dOPa㕑U.2Z\xf3R\xabx\xc0\x84\xa9$95\xd5\xfc%NedQJ\xf7W\xb8\xf4\x9e\x14\xeev5\xc0\xd2\x0e\r\x12+Rn\x19\xf6\x19\xddȽ٢\x9dA\x9f_\xf1\x9d!{\xeb/\xae\xce\x05B\x1e[ \x17\x90?\xafǹ\xde3x!@\xf76\x96oV\xd3\xf8\xc6-\xd3\xd9^\xf4^\x9b\x15\x1d\x1d\xfd\x88\xf4,\xa1\xfb\x15aM\xa2\x0eݥ}!\x1e\xe0B\xe1\x1d\xb5®N\x10\xd9.\x80\x0e\xe1.>V\x16P\xa3\x11\xb8\x9bD\x1cr\x94\x1c\xb30\x915\x8bq\xed@2,v\xe7^E\x9d\xa4\x90/.W\xa9\b\xbd\x12\xb3h\x93\x93ɐ)3\fȮ\x05\xd2\v\xcdD\xe9\x06(\r\x81U[\xda\xc7\xc6\xce\xcc5\xf5]c2\u007f\xf5:;wM\xfda&&\x93>.\xeb7\xb5\xeb\xe0a\x05v\xea@r\xac\x8e2\x1b\xd9\xc5p\xae\xd0\x14\xd9\xf6zq\x88\x87\n\vm\xa6\xe4\xb2\xca\xed\xcd\x02\xa7Dل\x11\xf8\xa93\x9a\xadl5\x1d\xdcmp|\xc8\xd4m;d\xa4\xbbF\xd2\x0f͖\xcbz\"r\xa9V\xb1.\xfd̵\\\xd4\xfe\xa6\xc9R֏\x9e>\x03\v\xb9Ww\xa7\xb8w!i\rȿA\xdfA\xc6\xd9K\x97\x93\xf95\x93\xe7*#\x92d\x19\xc00\x17\xf4\xdeg\x9e\x8fI\u007f-d\xfdMK\xdf\xe1\xda\\\u007f$\xf2\xc0\xc6\xe2Uj\xa5\xd7\xee=\xc0\x88\x8e\x8d\xfb\xd7\xee\xc8I7Li\x8a\x93$\xa7\xd9Ilb\x12\x89\x8a\x8d#Wn܄\x9aer\xe2\xfc\x05r\x84^\x9b\xfd\xc7N\x90\xed\a\x0e\x91M\xbb\xf7\x92u\xdbv\x90\xa5\x1b7\x81z\x911o\xc5j\xfd\xf7\xbf\x97i\x93\x17,V\xc7ϝ\xaf\x8e\xfa}\xb6s\xe8ԙ\xca\xc0\x89S\x95^c\xc7\xdb\x0f\x9d8%\xae\xf3%Y\x8e\x12ݯ\x88l\xc7!ccc\x9f\a\x15\x1a\xb8\xbbZ\x0f\x1e\xe1|\xa6I\x9blwJ\xf0\x94\xa8\x03\x19\x86.\xf5\x13c\x9d\xa7x\x85\xbc\xd8\xd0En\x05ooe\x87\xf7V\xee\xf4\xef\xb8(\xab\xb1\xfc\xba.\x194y\xba\x88\xe9\xcd\xcdd\xbcH,\xaa3\xe0ͣ~\x9f\xa3\x88\x9e\x89!>\xf4L\x04w\x194\x8f\x86ҍ\xf0\xc1#t\xa8m,ʼn2\xbd\x98,\x8bCR\xeb\x84>\xd4\xe2\x9c\xcfoذ\xc1\xa3\xf5k\"J\xd6s\x8a.\x1c\x1adZ\x82;\xb8t\x1671\xeekB\xad\xf1y+W;\xd2+\x8c\xf7\x12\xf7\x11\x85\xfb?\xf3\x86\xda\nĚ\xabЍK\xfeFa\x84.\\V\xd7Hj\x12Y\xbe\x97ѦBd\x93\x82K\xff̥\xcbd\xe7\xc1\xc3 Uh\xd0\xebK:\x8f\x1cˈ\xef3\x1f\x04\x05`n\xe1oXv\xeb7\xf5@a\xc6ο\xcf\xdf>\xc6n\xf3\xf29b\xba\xb1\xcb6nr؊Tf\x9b\xaa`\xb2\"͉k\xd3Iy\xa7e{噦m\x95\x87\x1a\x85\x83gD\xb1\xd5i\xee\xb4\xd5n\xea\xa4\xf7\xb4\x93n\xb2T[u\x18\rah\xae\xd1\b\xda\xdb\xe9t\r\x80a@\xbd)$\u0601..\xc4\xf3\xc1\xbb\x02\xa5R\xf9\x1b\xb5\x86zkc6_c\xf8F|\xa8\xbc)\xc6\xfe\x97\x88L\xc7!\xa5\x9fw\xc1M\xf5\xeb\x9cy\xccrs\x91D\xf6\x1f\x18w\xa2\x0e\xbd\x99\xfb\x8d\x9f\"H\xe1\x12$\xead\xe0.c\xbf;\x11\x1d\xfd\b\x10\bK\xb6\x18?\xc5\x01\xaeI\xb9f\xb0\x04\xb7\xf6\xdeo\x15\xa1\xc7&$\xb2xU\xa2\xc3\xf1\xbal%\xfa:\a\u05ee]{\x02\xc4Q ^U\xad{_\x96͛\x91\xae'\x8b\xafvp\x11$X\xb31\xf1L\xe5\x8e\xfc\xf2\xc7\\\x9d5\xf7\xf50\u007fBE\xe7\xb5fߓ\x92\xed\xbbj<&\x9b\x02q\x17\xd9\xf2H\x8f\xc8]Di\xccs\xb97\xb7\xab\x10+\x13\x8bxH&\xddb\x8c \xe9f\x00v\xe1\xfc\x9a\\<\u007f\xfe\xfcc\x19\x9dGF\xe7%\xea\x11Yf2=\xee\x8bMې\xc9\xf3\x17q\xf7\x97eJ;\xaaT#\xf9TF\x9b\nJJmXǒK\x97!\xae\xae\xda*Մ\xcce\x1d\x16\xd6\x17\xe8\xb9A\x96\xb6w\x82\x94< \xd5\x1a\x92\x95\x9b\xb7\x89\xb9ڜ\x89̈́\xfc\x8cmq?c\x90\fשW\xd0v\xa0\x81\xb9\x83\r\x1c4:\x80g\xe9\xd3\xd6\x1d\xd9\xcf0\xef!|\xa3[\x82\xe7\x15\xc0ߕf\xf1LW}-\x10,<[0\xc0*\xbd}\xdc\xfa7\xf7\xe0\xef\x13\xbdj\xe1Z\xb5\x192B\xbdt\xed\xba\xb8\xf1\xf6\xc5%'\xbf/\xe5^\xa0U\x89\xf0i\x81\xcb%\x1ep\x11\xf3Z\xb7}\xa7\"\x04\xabC-\x8cQ@\xa9A\xed\xde\xfdU\x91\xbcAI\xe1#o\x8b\xb1 9\xa7\xd3\xf9!\xb7<\xe1\x18\xda#t\xb7\b\x0f\x03\xb4\xb9b\v}\xd5\xfad\xe9\x86\u007f\x9c<\x16\x11\x99\x19\x824\xbb\xc5\xecv{C&\x9cp\xf8\b\xecj\rx C2\xc8\x10e\xad\xa0(!\x1e8vB<\x8c\x86\xaai\xa4\xe5\x80a\xfa\xffqK\\&\xca\x12\xbc\xeb\x04\xb56\x8dC'Oi\xbc\xcb\xfb\x18O\vjz\x892\xf4Z5\xa3\x84\xc4\xd2,\xff^\xb7Q\x83\x96`e2\xe1\xb2\x13\tC\xb0\xfb\x86\x85D\x9c7\xbd&\x1ffq\xee\xd8\xdf_\xbe|\xf9qa\xbd\x81d\x9b\xed\xd3\n\x90\xe5huҎ\"\xd5Hޗޜ\tˎZ\x11\x03y7\x0e'\xb8\xc2\xc1\x82\x87\x91\x9e\xa5\xef\xc9\xcd\xcajp\xbf\xaeK\xe6\xaf^+\xe6j\x97Y~\xceWoMTB\xc2+\x10k\x83\x9b\xa5\xde\x0f\x03T8\xa7r\x1d\xba\au\xab6A\x84lC\xdbο\xba\xc4!|@\xbe\u0083t\x9dx\xa9Y[c\xf5\x96mª4@\xfd\xc8|\xdf\"\x10\x19=\xb8\xa2F\xb0\x19+\x04\xbfx\t\x8a\x9c\rW\x02JWK\xe2\x90p,\xd89\x16\b렋 \xbe\xa2(U\xe5\xcf\xf7r\x8e\xf7\xf3Xiy^\n\x01\xc7e\x89<@\x90/R\x82h\xfa\xe3\x10\xe1\x82;\x13\x19\xb9!\xaf/\t;\xe9l\x18Df\xefr\xbe\xd0;d\x05\x1e\xf3wc\xd61\xb5\xb8'\xcd_$\x04\xc1\u007fOLMe\xb1ͫ7n\x1a\xef\xb4l\xafA\x89G)\xdeo1\x84\xb7\xa2\xfaO#\x97\x9e\xa9\xb4\xe8\x03\x83l\x94\xe2W\xb9<-\xf8\xf4\xf5?t\xc4\xf3\xf7\xb93J\xbf\x1f\xfa3y\xaaq\xb8O\x02\xed⚀\xab\xaff\xcf~z\x1c\xb7\xbec\x12\x13?\xcd \xf1\xc5'+\x89Y\xfe\x97.=\vV\x1e%~R\xa1SO\r\xe2I~\xcal]\xe7%aƝ\xf4Dυ\xb9ѷ\xec\xdd\xcfjoY\"\x9a\x0f1\xe3P\xae\xe4\x04\x1b\xbc?\x96.\u05f9\x8b\xf5\\ll\xec\vYِ\x8a\x9fS\x1d\x8e\x8a\xbc'\xa7A\x9f7\xdd\x17\x8b\xd6|^\xa5} \xf9{\xba/j\x9b\xce\xee\x12.\xa8݄r\xb2D.\xb2O\xf7\xda˒\x93\x93\x9f\x92r!\xb0k\t\"\xfd\xdd\u007fB\x02\xd3\xdedq\x1b\xd6 \xd6b\xb5\x19\x16{\xa3\v\xd3ֽ\xfb5\x1e\x1f\x00\x97\xdcÙY\x80\xe9+\xa8\x95|+ܮK7n\xd6\xe1\x98\x10\xf7\x82x\xda\xfe\xe3'4.\x85U-3\xbb\xfb\xf46\r\x94\xc4\xdfe\xa5\x18iv\x88Yi\x85Zw\xe0\xc9K\xb7\x88\xa6,/c\xa9\x1f9\xd0\xc9M\xc8؛7o\xfe\x1f\xb7^\x06\xb8\x13\x8ej4vY\x93r\xcd\x1dO\x02\x01%\x9a\xd3\x17.\n\xcb誘\x97\fH27]\xa47\x88\xbaɃ'N\xb2$\x108\x968\xae\xcf\xc2\x05\xd5\x1a\x90\xbdG\x8e\t\xe6\x82y\xedC\a\xa4\xd1\u007fM\xc7#\xbel4\xa4\xeb\xf3\x06\xdd @\x8fN(U\x19I\xcf\xf1$\x1c\xf4\xe0\x89S\xda\xfec\xc7\xfdE\x92\xd3\xcdd\x98\x9e\xf5\xc67>kY\xfd\xe6\xfa\x8dv\xf0\x94\xc0\x1cxk\xe3\x06nqp\x0f\x16\xa6$\x16\x9f\x98(<\x05 n{\x82\x1e\x0fv\x17\x9d29Oo\xd3Q\x9a\x8eg\xe8=6\x9bK婶\x86\xad2\xd5\xfc\x19\xfe\x16\x88\xb5L\x90\xf4\xa8\xf4g\x02\x11\\C\xb6\x06\xd5oI\x8a\xb7\xeb\xaa\xee9|TdF\xc7)\xbc\r\x1cZ\x95\x88t\xe3HѮx\x1f+\xdc\xef=v\x02+-\xb0\xb2\x01\xb1\xabLÕ\xc1\xb9l\xe3&\x91l!\\V\xc33\xb2XdW0\xef\x05HTM3\x12\x93S\xf4A\x93\xa6\xb1\xc6\xc0\xf7S\x8bl\xf0\xadd\x1d\x91\x19\x9a/+\x81y\xf3yP\xeb\xba!\x17\xc6\xd6m\xdf60\x98\x8c\x99d\x8d\xb1Z\xb0z-\xf4\x93\xe7/x$h\xba\x88\xae\xe4Z\x9d\xee^\x82b^\xdd\xee\xce\"\x95\x8c\r;viܺ\xae\x91^|V\xbef\xd0\xdc\x16\x84\x17\x14U%\xe5;\xf6t\x82\xab\xb9t&]\xad_p%\x1cȮLJI\xd1=\x10\xd88i.syK\xda\xe1\xe9\xfd\xb7\x82\x86\x9aN\xd2\xecv}\xf6\xb2\x95 ghu\xf9\x87\xb8\xde\xfdżxI\x9aa\xd7\xe3\xfc\xf9\xf3\xf7S\x13⨫\xb5\xd7b\xae\xb8\xd3\xcb\b\xf1b\xb1\xc1u\x86ZƩ\v\xfe\x06Q\x04\xe3\xe4\xb9\v\xe4Fl\xac8\x97\xbd\xbe\xbaY\xe9\xeb\xffx\x1cU$\x1f%\x8a\xae(\xb5{\xf7g\xb5\xb2\xaeL匟'\xf8\x1b(ہ\xe40H\xac\v\xb6\xccX\u007f\xb8_\xe1\x15\xeey\x88\x89B\x93uz\xdf+\xa2\x1b\r4A8}\xfat~)\xa9\aKE\x90 o\xdd\x04\x1aw+\xceY\xb6\x92Y)I\x9b\xb7b\xb5\xc1<\x15~\xec*\x12\xeac\x19T t,\x01o\x10\x93J\xa4\x9b\xf6\x86}\ai\xa7.\\\x14a\x9aSt\x93[ԓ\a\x02q\x0f\xbbY\xa9%ҏ'\xa8(\xf0\xe0\x81eS\xc2\x0f\xf2X\xb0\xfb\x15uh\xb6/k\xeb\xc7Μu\xf5yԴ\xaf}X`\xd8\xcd\x1a\x1f\x1f\xff\x18\x14\x19\x83\xfb\xb3px'\r\x16\f \x1b\xc8(\x85\xd6]|g\x0en\xb0\xd3t!\x02\xab\xe6\xb5\xcc\xdc\xec\xd2n\u007f\x98yU\xa6\xc4A\xda\r\xfd\x99-d\x90`\xc1\x1e2J\x98\xed\x86\xfd,\x16\xeb+7o\xde|\xd8t\x1c6\xc7\xd0\t\xc1U{\x99B\x89\xb1\xa7\x0e\x19\xad\x15X\"Og\xf2h\x93p=\x8a\x13|\x8a\xa2\x14\xc8D\x8c6?\xbf~\xc3x)\x88j\xabR\x8f\x9d[h&\x13\xaa\x80 ^\xa2\xdf+w\xc30j!\x9d\xd78A\x0e0\xc7h\xbdldD\t\bә\x8d\x8a\x8e&\x95:\xf7\xd2 ѥ\xfd\xf0QDq:o\xebmeA\xf7\x0fq\xa8ʾ\x92\xa4|M 9I\x10m\xbba\xa3\x9cP\x86\xe3M8\x1e\x12Ęk\xbfvS\xb2v\xfbNQ\xdf;З\x8d\x84|_Ĺ\xc2\x06\xa7\xb8~\xac\xdd\x16\xfa\rs\x95\x87x\x91\x18\x94\x05\xc4\xfb\x8f\x9fr\x9bIN\xadb(\x91p\x97FY)\n\x00\xc4-\xba\xe1X\x91\xa3p7X\x95\xa2\xec\xe9\xe5fm\xa1\x04˘\xbf\xc6U\xa3̯i\xa4\xbc\xb1B\xab\xf2\x1eNԡ\x96\xc8\xd7\xdc\x12\xd1\xdfk\x15\xa1\x8b\xf8\x86?\xba^\xb8c`5\x1a\x91\xf5;w\x8b\x04\x97\x91\xde\xe2I\x1e\x92\x8bX:\xff\x86\x1d\xbbX\xd9\xc3\xd7]z\xb3\"\xf8>\xe3&\x1a\xeb\xb7\xef$\aO\x9e\x02Qp\xe1\xda땙8\x83X\xc44]\xff\xcd%\xffv\xd1>t\xca\f2l\xcaLH\nbE\xf1BM\a\xbeO\xc1\xd6\x1d\fH \x02r\x8e\xbf\x95\xa5{\xbf\xa7cҹ\xee\xe8\x12N?\xa3B\xb3_f\x85Vk\bu\x89.\xb5!E\xe9\xe5k\u008c\xf9\xdfTM[\x06\xc7\xf8\xedϿ4\xe8\xdb\xc8\x12w|\xaca\x83M\x11\x9cO\xa1\xf0N\xfa\xf9\xcbW\x840\xfc\xb0,$\xee\xe4\x92\xea\x00\xd95\x8aOL\xd2\xe9yh\xddF\x8d#\x16C\x93\xc8\xf2\xe3\xccƟ\xa5\xfb\xbf\x82ؼT\xef\xd9W\x85͋'\xd9\xc3[\x04ՋY\xfe?\x8e\x9f\xec4\xbbY3!\x04\xcf\xe6\b\xe2\xd6\\֎L\x9c\xb7\x80\xb5\xee\xfa\x8a\xde\xcb\xe9\x11PQ\xde}\x04JV \x1bVs\x95\xd2$\xc7%&\xd6\xe6*5\xcc#!Z\x80Y\xf1\f\x17\xe5\xa5M \xa8\x01\x1b\xe7OZwt\xc7\xf7\x8a\xb5\r\x8e\xf6^p\xbd\xe1\x99\x06\xab\xb2\xf3\x88\xb1ʍ\x18\xe1\t'[o$$\x88Mv\xee={\xf6`\a\x93{\x88 E\x89\xc3+B\x16\xabi\xff\xa1.\xc1\x00?5\xf5-*\xd7\xe2M\x99!\x16\x98ݙY`\xe4ŚKX\x91\xf0\xc1?\xa9p\xde@\n\xa0?j+\\\x91\xd4\xea\xfd\xa3\xc2\x17\x10X\x80\x9e\xcf\xe4\x02\xc6>\x03:\x16\xf0\xd2\x02\x10LWl_\xd7an]Q\x83X\x91\xc7W\xe7,[\xe9Nx\xa1\xabvS\xfa\xfa\xacɵ&^\xbbS\xe2\xb8.,\x97\xe6\x03\x86\xb1\xc2\xe7\x16\x03\x86\t\xbdT&|\x00\xf9\x1b\x10S\xa5\xe3\xc1\xf4\bJ\x8a\xff\xbd\x00\xf18h\u007f\xc9%\xbeX\\\xb1,]\xd4@}\xa8\xac\x17\x1dPA\x90\x85\xe8\xc2\xf7|\xb3\xb6\xee\xd6bP\x02$\xc8>\xb3z\x97\x9c(\xd9{(\xe9\xf7\xe0r\x82䏥+t\v]\xadr\x8d$\x98\xe0\xcfe%IKj\x01\xc72\xba\xafݸ\xa9}J7\n\x1f\x87E\xb8\x85\xe3e\x17\x1d\x90\x05l&\xe8\uf358\xf8\x04Q*S +\xc9\x1eb\x8e\x92\x92\x92\xde\x14\x1a\xc1\xa3\u007f\x9f\xe3\x84\xf8\xa8\xa7n7\xe0\x85)\xc7%\xde>\xa1\x1b3z\xae:\x97.\xac\xcf=\x15\x9f\x89\x18mǟF\xb3\xf6[\x95\xb3I\x94\xb2\xac\xdc+t\x13z\xee\xf2\x15\xe7\xb6}\a\xd8ƴ,%I+Է\xac\x8c5f\xd7\xc3\x05\xcf4\x94\x94\xbdݲ\xbd\xbei\xf7^\xb1F9\xe8\xfd\xd1\xd4|\xdd\x10\xc1M\x90\"\xce\x05\x8b\x19\x8b\x8b\x8c\x9a9\xc7\x01\xee#\xe1j\n\xf5C\f\x00vk\xe0\xa6\xfc\xbak\x1fݡ\xb8\xca\x18\x93\x15\xe5\xfd,X\x00\xf9\xe4X܁\xe3't\xd1F\x8bk\xb8\x1a\xbc\x94\x01\xe2D\xa1Y\\\xc0\xf2\xf2\x85\xa70kI\x12\x17\x0f\x8b\xa3&\xb2Fᡄ\xcd\xc4C\xf4\x81\x8a\xfcu\"\x89\x89\x8f\xd7\x15\xa7+\xb1\x15t\"%כ\\8β\u00ad\xdc\xc8\xecP\xa5$N\x84\xa5\xed\a\x92\x9c\xedk\xd2LF\x84\x95\x94\x94\xf4\xbf\xe4\xe4\xe4Pz\ro\xf0,o\r\xe6\a\xaeQq^\xb0\x0fb\x12\"\xa9\x89\xdecp\xff~!Ց\xfa\xba\x81\x10\x9b\xa7A\xa6ت{\x13A\xef3vm\x84ە\x95\bQ\vv\xe2\xbc\x05\xc2/\u007f\x94\xe2>\xd3\xf1rI\x19\xcf\x1d\x98\xff\xff\xf2\x15\xfd\xc5fm\rh\xd0\xed\xab\xa6o\b\xcfb\xad\xc0\x9b\x0f\xac\u07b2-\x8d+\\\xad\x85cC\x8fW\xfa<\xec\xe6ϝ\x1d\xfe\xa6\x1c'ʜ\x8eQ\xc2\xf3\a=P\xfb\x8c\x9b\xa8\xd5\xee\xfd\xa3\xfe\x00%K\x97G\xa9s\xb6=_pl\xc8\x19\xf8\x88n\xecA\x1bv\xc6⥲\xfe+<\xe7\xee\xcd\t\xea\xbf\x06\x19A\xa6\xa9*˲LHJ\x06KH\a\xadQs\xfc\xc5\x1f\x96$<|\x10'[\xb5e\x9bq\xfdf4Q\xb9~\xa7\xc1\x1f>\x1f\xbaL\x88E\xa1\xa4\xb8Y\xa1K\xc0ֽ\xfb\x8d\xf2\xf4\x81\xee5\xf67\xb7L\x98\xaf\xc9/>\xb8\xa4\x19\xa0\xeb<\xe4\xa0@\x8fdž}\a鐅\xc8v\x9a5\x9b@\xed\xa4\xc8\x04\x9d\x90\x9e\xc5%\xc8\xf6\xd0ŋ\xff\x85\xe3D\xc7\xc7C\x02\x90\x06n\x1d\x96\xc8\xf4m\x03\x83~\x0fv\xfe\xaa\xae\xfbd\x01\xf3\xcfaǥ\xef\xe9 \xac\a\xba\xc0\xe9\xd0q\xc1\xb5\xabN\xff\x9a¢\t\xc9\x18_v\xee\xcd\xfa=B\xa1\xff\x16\xfaJ\x17E2\xf3\xefe\xfa\xcd\xd8\xd84\xfe\xbd\xe6\xc8\x02\x06\xdeH\x92\xfe=\x93~K\xa5&\xcd\xd4\x05\x8b\xb5\u07bfL\xd0j\xf4\xecG.s\x85%?\xc4$\x87f1\x1e)H\xbd(=\xa7\x03\xa2ć\xd7+\x1ac\xff\xf8\x93y&D\\\x17\\z\xa0\xb6\x03\x04F\xef_]\xaaC\x81L\xeaz\xbeĽM\xf5\xa4\x8bY:\xf4\x8d\x1b΅k֑Ek7\xc0\xbc\x93\xa1Sf\xb2\x18\xb1X\xa8\xcbqo\x03\xcc#\xffȓ{\xf6\\{\xd0S|L\xbe洞:\x8d\x89\x94\x1e;\xaeA\x1c5T\xf2\xe8x\x1b\xac,\xa9j}\xe8H\xe3NN\x9a;w\xae,\x16\x9f\x9fN\xd1\x1e\xf8\x87\x15\x9b\xb7\xb2:S\x17Q\xfa?F)\xac=Q\x023\u007f\xf5Zv-`\x83\x19>d\x04\xdb\xd8X\x95\xb4\xe4r9\xbb\xb4`as\xdcr\xe00\xf5\u0095\xab\xe2\xda\x1f\x8eOM\xfd\x18\xad\xca\xe0!H\xb6\xdb\x04\x9f:\xe4'\xc0\x15\xee:j\x9c\x13\xac\x99\x8a\x1ed\xd6\xfcus\x17wY^\xc4V\xa9\x16h\x95\xa6qR\xf8\xc1\x17K@Z\xd4\x1e\x86\x87\x16\xde\xdb\vD\x0f>)\xcfz\xd5\xd1E]$2̤;\xbd\x12\xbc\x01p\x9e\xcc\x12\xa5)\x8e\xf8\x1a=^\x03ȩ\x105u\x93\xfeZ\x04\x1d\a\xc8\xdb\xd4\xfa\x9b\xbfj\xad HH\x10\xfa\xd0\xd3\xe7I\x8b\"\b\xa6W\xa3\x16\b\xb3J風\xe6n\x18\xc6,\xec\xfe\x13\xa6\x88\x05p\x99/\x1b\x06O\xe7\xea\xe0\x19\xbfP\xb7\a\x89%E\\\xb5\xa3^\xeb#!\xf6\x06\xdf\a\\g\xa0Ok{=\xd4m\x91\x83\b\x82\xaf\x89U\xf2\xb9@\\\x96\xbb-\x15[\xe9\xaa,\xa1*!)\xc9\xea\x1aI1gm\xb2\x92P!\x91\xfa8Wvw\xb4\xb6d\xfd?\xd4Z[\xc8Zz\x99\xbbr\x84\xf0\x8d\x05h\x80\x02\xe9\xb4\x1a4\\;t\xe2T\xb2fh\xb3\xcfM \x04\x9e\xc5+\xf0E@\xc7\xd8V\xa4\x12\xb3Ta\x91\x0f\xbd\xad'iW\xd6!\xe6*Oԡ\x9f\x05\xc9]\xe0\x12\xff\x8f\xc9\xdd*\xee\xbd\xfa<\x99鴘,f\x99\xfa\xd8ɦ\x02\x17o\x9f\xb6\xf0o1\xbf;\xe9&\xf1!\xb1\x8e\b2\xb8|\xf9\xf2\x03\xc0\xc1\x8c(7mQ\xe1=%\xbc\xc4\xc1-k\xd4N7\x80\xcf\xd1\rK\xeb\xc1#\xc4\xcd\x14\r\x8f\xbe\xc1\x84Pƫ`\xddʂ\x1f\xd6\b\xa1\xf4\"\xffG\x9fէ\xe9\xe7.\xffg\xb3\"Y\x95\x9d\xcc\x1byD\xe0\x11\xa4\xdcjj\r\\Xp\x1d\xc0\xa2(:h\x84\xe6P\xaa5X-\x90 $\n\xefA\x93;3q\x1d\xf1\x80&''\x83T\x1c\xeb\x9aQ\xff\x87\x81\xd0́YC\xd4\x02\xd0MnB\xe8\xb2\xf0\xa8/\x8b\xbci\xa1y\x8e\xbf\xd7]7\x15O-\xef\xcd{\xf6鐢\xcfȞ.hk\xb6n\x17\x0f\xa9݃\x86hn\x93;l\xa6$\xc9f@3b\xc8n-\x10\x16A\xaeDE\x89\xa4\x99\xceY\xb8\xbe\x90\x81\xfa&}o\x19\xa7Sce\x00\xdb\xf6\x1d`;j\xa1K\xea-\xae\x03\v\xe3\xb7\xdd~`\t\x1aк\x89\u007f\x97\xed\xf4\xf0\xb93\x93\x10#\xcf1%\x1f\xe6\xc7\xddw\xe4\x98R\xb7\xcf@\x03\\\xae\x16\x93\xa48\xd07\xd9!I\x88\a\x82!\x12OI\xdc֨\xb5\x13\xeaL\xc1\x12\xf7\\#\xe9\xaaǽ\x9f\x92V\xf5\x1e}\xd54\a\xbb\x8d\x81\xfd?\xc8\xe4<\xe5\xe3\x89aE\x99W'9\x99T\xe9\x16\xa9\xc1\xf5\x82\xe3\xcb\x1bK \x04\xb8.\xab\xa8\x85\xefP\x14C\xea\xa02\xcf\x13I\xd2y\x1f\xcb|\xf6\x8aB\x8e\x9f9\a\xb5Ϭ\xac\x04\xbc8\xa5\xbd\x84T \x06\n\x9b\xd8Q\xbf\xcf\x11\x1f\xa2\xd3Mb#\xf3\x06@\x9c?\xa8\xd3p+\x1c\x84\x10T\x10\xa4(\xe5g\x1d\xd9\x12\"\x81\xa9VS\xe3ԅ\x8b.!\aU-m\xb7\xdbK\x89\x89\x199s\xb6\n\xeb[f녽e\x82\x83\xf5\n\x9f\x0fIK}\xc6MPD\x82 \x84h!\xf9J\xda\xec\xa3\xfek\x80\x91\xa4\xcb%\xa7\xaa\x83\xd9\x02\xba\xff\xa0\x03\x82\xf1\xe0R\t\xcdA\x85\v\xd8\xc5\x02)\xf4\xfdu\x92p\x93\x9d\xbbv\xcd\xed6ʛ\x89\xef#\xe2.ap\x90#\xa7\xce\x00I\x1a\xb0\xf3o7\xecgpK\x91-{\xf6)҂\xfa\x9e\xaf\xee\x10\xb1\xd0\xd2\xd7\xea<[\x94\xfc\xbed\xb9\xden\xe8\xcf\n] \r\xc8,\x049+X\b`\xd1\xf9\xaeg?h-\xe5\xce\xfc\xa3\v\xc6Mi\x87\u007f[⎪\xba\xfa\a^\xbcz\xcd\xd1|\xc00\xa6\x03*\x16\xa5\x9d\a\x0f\xb9\xb3[\xe91@\xac\xbcQF\xc4.\x91y\a\x9e\x14\xe3\x90\t\xe4\xafUk\xd9\\{+\x01\x11\xbbdV\xafIw\xdf\xf4\xbb\x8aވ\xc7$\xeb!\xb3nLY#\x95\xb5\xf1\xbax\xed\xba\xd3-$`\x1dI\n\x14\xca\xea.^|7J\x04,\x03\xf7\xe8\xe93j\xae\x86a\x06\x88\x05\x84\x9a\x12\x9fX\xa2\x16\xbd^\x90\x91\\\xbec\x0f=6\xc1\xd5\n͡i_eq\x9e\\\"\x13\x0eG{8Ρ\x93\xa7\xa0o\xa9!wp\t\x91\xf4}m_\xd6f\x82\f\xf1\x89I\"qh\x95'K\x9e[x\xac\xcd\xdd\xe8Y\u007f*ЫR\xb4\x90\xf3fY\xb1\x10\x02\xdd\xc4N\x98;߬\x8d;K&J\xe9\xfe\xab\xa8jZ\x02ww\x1a`a\x17ͤ@{fK=D#\x81\x99\x8b\x97\xaa܋3C\xccA\xb2\xdd\x1e*J\xda&\xcf_\xa4=I-?_\x9e\x81̊*\xb0$*\xfa\xdc\x16n\xd3I\xdbq\xe0\xa0pI'\xd1MOm\xb4*\x034\x0eIw\xcb\xd5y\xbd\x9a\xfeF\x8bv\x06\xa8\xe2gFD9\xbb76\xec\xe8\xa0C\a\xec\x96S\xed\xae\xe7.1-\xed\xf3,..\xb9%e\x17V\xf0?w\xe5\x1a'k\xb6JǗ]\xfb\xa8B\x9eNӴz\x99\xdc\xe1\xcbn҅p\f \x0e[\xb9\xea\xec\xc1\x809\x03w\x12\xec*aw\x0e\xd6Z\x9d>\xfdUP\xff\x81\x05\x85.\xb6\x85̟g:\xe6\x12\xb7\x86+\xaf\x87\x83\x85\xa5tD7\xd2\xe5\xe7_ȅ+WS\xf9\x02\xb8\xd8K\x02Pn9\xa1(*:\xc6\xfe\xc7\xd2\x15\x04\xe2h\xad\x06\rg\xae\xc2\xe2>\xb4 \x12J;p.\xd0Ӑ?엥\xae\bY\xcd\f\x96\x89r\xbe\x14C\xb4* )\x8e\x93$\xd5H\xe6\xcd\xc2y\xba\x17|A\xe83\xff^\xc6\xf4u\xcdq-\xd8\x18\xb1\x82sjEB\xab-\x9ea\xd59\x1b\x04\x9dK\x92\xf2\x9b\xe3r\xc1\xafw\b\xc1uY\xdd\x0627\xfbO\x98\x02!\x05\x8d\u007f\xf9E\x9e\xe2\xc4\xe2<\x986\xad[\\`\x9a\x06Ϟx\xdeC\xbc\xe4\x0e\x80\xfb\x1dr\x14z\x8c\xf9\r\x12\xfbx&\xad\xb1P\x8e\xb7\x8bϡ\xcf\xdfP\x97\xd5\xeaL\x1dF7\x8b\xcfs%*\u007f\xad#\xa2f\xb3H\xdb\xce:\x88?@\b\x04\xfa\xbe\xf2s{\x00^\xafܼ\t\xae\xe8ĸ\xc4$\xf2z\xf3\xef\x99\"\x97\x95.`Y\xff\x95\x85*\xaa74 \xe3\x19:\xdd\xf05g\x9a\xb4\xf9Ǥ\x9e\xbb\x9c \x85\xc5\xf5&\xab\x88\xd0tҠ\xef \r\xfc\xea\x15,\x14.\xf7EﱘK_\x15\x04\xa1y\xf9\x87R-+\x895&¹/!!\xe1\x13\xba\xb81F\xec8b\xacV\xa3G?-\x8d\xbb\xf5@\x94\xdcW7\xae'+\r\xd45\xc0P\xe5*6L\xaeO,^\xe5\xb9\x05\b\xf3\xa9r\xb1n:\xcf_\xa6\xb7X\x8bc._\xbe<\xbf\x88\xa7\x0e\x9e4]\x05\x97-ssV\xa9G\x86O\xfb\xdd\xdd\xec\x18J\x03\xbcX\x92\xb9\xf9\xb5}KĘ\x87L\x9e\xe1\xb0}X\x96Y\xb8!>>\xec̺\xff\xae\t\xbcW\xec\x86\xe3\xe91_\xb5b',σf\x18+L\xc96VH҉\x8e%\xf9\xb3r\x9d\xcd\xe7\t\r\xa6!I\x98\t\xc1\x0e\x1c\xa6\xb9\x04*zܶ(\xc2fb\x03W\x8a\xa2\x8b\xe1\x94\xec|\xae\xc9\xdbp\x9f\xa8\xa3\x1d0a*ӑ\x85\x18\x18X-\xc2s\x91fw\bO\x83\x93\x0eh\x91\x16ar\xeb\v҄X\xe7\xf7B\bc\xcf\u18fa\xed\xab:\x8c\xf4]\tH\xdd\xd3-\x0fr+\n\xd1\xcfo1`\xa8\xb8V\xd7@{\xd8t\xbe\xb9$\xd7\"\xcb\xd8^\xb6q\x93\x13,<_\xdav\x85f\x91\x9c\xe0\xb9\x03ū\xefz\xf5SL.\xe7|\xa6\u05ff\xe0\x1f\xbf\xee\xd2\xdb\x01\x96\u007fI\xbfHlv\x86F\xe9.\xab\xf2\xbbƬ\xb7\xed\xb13gŜ\x9d\xb7\xdb\xed%==\v\x88\xbb,QG^\xe8\x87M\x9b\xa9\x88\x87\xafh\x9b\x9cKՆ\x1b\x142h\x1b\xf6\x1ddH)\xef\xa0(S\x8f\x8e'\xb3\xb0\xa0@B\xcevN\x0e\tBed\xce\xf2UN(\xfa\xe7\"\x02\xc2]\x99\xa5\xa2_\x91^\x1f\x1f\x1f\xff\x12\xff\f\xd2y\xe4XE\xa8\x98|\xd4*\x82\xd4\xea\xf5\xa3\x10T\xd7SSS+\xfa\xfa0\xd8y\xbfΔ\xb44\x032ea\x01\x1b3\xebO\xf1\xd0\xc7$$8|Қ\x95\xa4\xee^\xe7\x89\vd\xea¿\x99+\xbd2_\x10C2x\xc0\x99k\xadns\xd2s\xeco\"A\xc3)\xb2\xf5\xacP\x15\xe1V\xb0 \xb0\xce\x16[\x93\xe2\x9cw\xc8\x16NvC\x12\xf4:V\xe6\xbd\x1d\xb5\xc7\x1a\xb76D\x99\x0f\xdbLToH\xa6\xf32\x00JR[}Mh\xf2u3K?\xfbc\ue380x\xa7\xfeB\xd36\xee\x18\x18h\x8b\xae۶\x83\x9c:\u007f\x81\xd8\x1dJ*w3\xfe\x99N컍\x88I\x1e>yZ\x87F\x02p,Wc\xf2N$\x1f\xb5\x84!\xab\xd9U\xdb\xf8oK\rH囮}\f\xdeo1911\xf1uO\xf7\x84\xfc\xbd\x85\x87\x04\x92\xd1`\x8d\x81l\xd0\x10\x0f=WCy\xa0V\x0ed\xc0դVؾ\xa3\xc7S\xb8\xdbj\xad/րX\x04\x12\ty\x1c\xdc\x19\xd0C\xd1ְ\xb5\xfah\xe3p-:.\xceE\x90NgS+wm\x92\xa0z3\x9et\xa3}\x14ցi\xae\x8e\xfdc.Ԛ\xeaBH\x9d\xa3\x87\x99䤘\xd7N\xf8\x833\x17/9\u007f\xfd\xf3/\x02\xfa\xaa\xddF\xff*\xde\xecLLM\xfd4+\v\xaf\xf8{\xae\x01\x1a\xe3r\x0f\xcfw\xc0\xa6HX\x94\xe62\x06(.o\xd6\u007f\xa8\x1e\x9f\x94d\x98Տ\xb2\x1bC\x91\x16,\x88\x83\x1f\x90,G+\xd5vļ\x8d\xb0\x90\xd8e7\xfb1w_UJ2\xcd\x06\fո\x94\xa2A-\xbeO\xac\xb4\xb6\xf9+\xb4\xed\xaa\x03\t[\xd4B\xbc\xc0\x9a\x89o\xf8\xc7]\xf3g\xfb\xa6.hߊ\x8d\xc1\x81(.Cg\xde\x1cH\x12{\xc5D\xddg\xdf_'1\xab\x14\xeeٹ+V\xb3G\x8eZ\x98F^J6\xa5L%\x1bb\xf34c\xf1R\x92\x94\x9cbh\xbc\xf1'}\x99h\xba\xb6\"q\xe7\xa3[\x92\x88v\xf6,\f\x992\x83YT_Hrx!<\xe9\t\bd\xd1\xda\xf5\x90\xf4\xa4\x8e\x99\xf5'K\x843\xcb\xefy-O\xa1\xc7\x1e6e\x86H(\xeab:/\x915\\\x8c\xb5ӣַ\xadZC틎=\xfcn\x1c\x88\x16u\xb09\x00\xb5$\xd0B^\xbfc\x97 s\r\x12\r\xcd\xeb\n\xe2\x0e\x12\xa4\xb0~b\xe3\x13H\xe9\x88\xee:\xb8\a\xfd\xbd\x9b\xf2\x9aBݦ3\x8b\xbf=No\xa0\xc6}\a\xab\x8a\x93=\U000c92a2\xbc\xeb\xab5 n.J\xac\xdf\xf2\x9a\xc04\x91\xa4C\xbfss\u007f\xf8\xff\xa5\x85g8\x8f\xf1(\xf0p\xc3C\aDD\x17\x14ŸE\x04\xf5=$\uec050\xd5\xe9,\xc8NSQ@\xc6Nm\xd2o\x88۪\x92z\x11ޗ\x9d랜\x9c\xfc>\xb8\xc8\x18Q\xce\xf9\x8b5a\x96\x13\xb4\\5f\xaex*$\x82H\x84\xb3\x85'A=ga\x9cm\v\xf3ץ\xa4:\xe8\x02jX,$ H\xb2\x9d\x95\x16\x9d;\xe3\xd4\xe9,\xccU\x8c`\xbe\xb4\xabQ7\x84\x94b-\vIYN\xb8Y{[V\x12\xc5\xd4\x05\x8bɓ\x8d\xc3Y\fn\xe2\xbc\x05b\x83qCX%\u07be\x03\xdd\xd85\xe1jGF\x87\x9f\xc6\x18\xb6j\r q\xcf}\x01\x86N\x99\xa1\xdb\xea\xb7b֣\xdc+\xb3D\xbb.\xc4V\xae\x1a\x99\xbdl\xa5\xac\x04\xd4\xc8D\x8en\xb5\x19z\xaa\vy\x96\xb9Z\xa9so\x16Za\xae\\sr\xd8\xed\xb5\x97\xacmZ\xeb!#\x8c\xffP\xb2\xf6E6/\x94\xc7$m\xdf56Vm\xd9\xc6\xe6#\xc5n/c:/F\x927o&\xbe\x01\x97\xeb\xc0\xf1\x93\xc4\xf6m\xfd\x1c!I٪\x84\xf3\x04҄\xef\xf0\x93)9\u0557b\x9a\xb9\xfd4\xbflAXN\xcfU,\xfc{\x8e\x1c\x13\x95\xc4\xd1t\xd7\xfe\x89\xb7$\x0e\xc9u\xdbܝ}\xa2iլt\xbf\x80\b\x11hE\x88st\xaa\xaa\xfem\xf7HR\xa0U\xfb\u007f\x89?3\xf1\xea\x9aM`\xd1ѯߌ\x16\xa2\xf0e\xad\xb0ƥkt\xbf\xc84\xe4\xc96V\x97\x80\x14\xb2\xda{`\xda\x14\xad7uv\xc9e\xe5=fJ~az\xa8?M\x9f\xa5\xd8*|\xc7z\xa4\xc2s\x03\xca2\xbd\u007f\x19Ov\x1duZ\x9e\x83p\x93\xe5\xee&]\x83g\x13oٻ\xdf\xd1\xf5\xe7_\b\x940-߸Y\xe5q\xc6r\xf4\xfb\fv)\xf1\xfc\xc14\x84\xcbs\xb1}[\x9dfd\xe1\x9a\xf5\x86\xb4\xf1k\x94N\x9cY\x90\xd2c<\x16\xdfG$S\x81\xd5\va\x15p;B&-\x84W\"\x86\x8fҹ\x88\x86\x06-\xbdཊ\xa2B\x8b7&\xeb\b\xb1ߊ^4W\x81\xccߠ\xc7j9p\x98ؘ\xfen\xfe\xde\xee\xa6\x04\\\xf8\u007f\xe6\xe2\xa5:X\x9e²\xcb\xd1u\x8f\u007f\x1e\xe4\x81@\xa2\x14\x9c\xc7\xe4\xf9\x8b\xdc\xf5̠\xf4\xb4a\xc3\x069\xbb\x19\xadJ?\x93\xa4K\xecZUG\xf2N\x13,逥\xb0\xdf\x05\xfd\xdeX\xac\x83.\xc8;\x0f\x1c\x12\xe9\U000e3f51\x8a\xaf\xae*_\x92~,ve\xbf\xcce\xbfX|(:5U\xf4\x8f\xcc\xef\xadI\xb2\xdbu\xab\xeb\xc3\xe8C\xd2֊\x9d\xa4d=\xbc#\x1e@\xa8ی\x8dO0\xb6\xed;@^m\xf6\xbdk\x17\xcecO\xa1\xa6\xf8Ӂc\xffꚒע\xf9\x12IL\x9fKĦ[H\x90iR\xaf\xd0\xdc\x16_k1\xa7\xff\x03\x0f\x81\x94\xa5\x9b\xc7\x0f\xf7\x95\xb0~@\xe5)Ε\x95\xf9\v\x93,\x14٭\x05a\x91}\xad\xb8\x9c9\xb9T:\xc7\xdc\xe6c\xd1{4\x845\xf7>s\x96؞/bt\x1f5\xce\xdd{S\xba\x87\x95\xa8\x98\x18\x88\xf1i\xee6`\xf4~\xf8\xedϿ\x84*\x94\xc6]\xbf\x10\xe7.*\x1f_\xaa\x93\x8ct\xfb\xbfU\x152o\x8d\xbe\xbfN\"\xf7\xd1s\xafț~?\xdd$\xdc8\u007f\x99\xa9\uf464\xa4\xa4*\xe2\\\xb9\xe8\xc1\xcd\xcbף 1J/\xe7E\x1dJ\x9cߐ\xc9\xd3\x05\xd1\xfc\x9c\x9e%-6\x01C\xa7\xccP \x86\x99S5\xe1\xe9\xea\xbfR\x82/\x0f\xcf\x1b\xb5\xa8\x9b\xf4\x1b\xacRCA<\a\xc7\x13\xf9\xa6\x01\xadʜX\xbc\x15\x05\x02\xffP\x90\x0e5^F\b/D\xbe\xd3]\xbf\xb9\x807Y\xb0f\x9dÃ\x1ehvb_\xb9\xf8\x0e,o\x0eεX,+\xd1\xc5s\x99(`\xf65F\xe5A\xf8<\xb7\x05\xe7\xe4j\x12M\x8f\x05=\xefx\xbf\xbf4x !\x83\x91\x15\xa5\xb7\xbb\xa5\xdeRT\\\x13\xba\x89\x9a\xb3l\xa5\xb8&\v̻r\xab6n\xf4\xb5\x99\x9f\xca?.I\xf3\x9f\xcb\x0f\xd7:\xb7\xd5\xd7\xcakL\xd9n/\xe9\x92@L\"\x15:\xf5\xd4?h՞\x80\xfa\x0fȠ\xd1k%\x92@\x0e@r\x91\xa7\r\x8d\xbc\x11\xa3\xafL\xe0|\xfe\x9aui\"\xb1-\xc5\xe1(/\xfe\x96\x12\xc9(\xf8ݔ\x05\u007f\xab\xa2\x06\x18\x9e\xd7\xcf\xc2;1\xf7\xec\xe8\xdf\xe7\x18\x89\xc9\xc9B\x9b8\xdc\xe4\x8a\x16!\x8f\xda\"\xd6X\x96\xa2\xa1/\xbb\xb9\xbf\xacM\xb6\xefw\xb5\x93Qu}8^p\xffZ\xb6|ဖA\x9dD\xbd\xec\x9f\xcbW\xe9@\x90\x90\b\xd2c\xccoF\xaa\xdd.\x12`\xa0T\xa4\x89\xa7\x8e\x12\x16\x9d\xcb\xe3B4\xdc\"I:C:N\xb5\xf4܀\xc1bQB7\x16hP \xbb\xf8\xb3\xe2u\xf2D¼\xf1\x81\xba\xf3\xe0ab\xab\\\x8b\x91Q\x8f1\xbf꒵\xfe\x93\xe4\xb6M\xb7\x13\r}\x85\xba\xec\xcb\".y\xf4\xf4\x19\xbd\xe7\x98ߘ\xaaӛԚ\xdc\u007f\xec\xb8\x10\x92p\xf7\xdd\xe4\xef\x1b#b̧.\\\xa4\xf7f\x04[[J\x99tV\x8b\x898z\xd5\xfa\xfa\tW\x02\x903\xe9֜\xdc\xe7i\xee\xa4x\xf8F&\xcb\xf3\xf3/j>\x91qk\x81\xdbU\x9c'\xacoP\xe2B\xcf̀\x8c^\xd1\xf1\b\x86Ш\r\xf1be\x86\xb8{\xed\xf6\"\xef\xd29\x03\xafϬ%\xcb\x1d\x92\xfe\xebp\xf9ڡU\xe9\xe3.3::\xf5Y^XL\xbe\x1f\xfa\xb3\nz\x86\x15\xb8\xe9\xce.\x1e\xfd\xb9\x12w\x99\x96\xe6\xbd\x0f\xa1\xa36\xeb@_\xa3\xb1\x96\xa7Q\x98\xb3F\xcf~\xca\xd0)3\x9c\xcb6n\"g.]&\xaa\x87z\xef\xcbQ7\xc8\xe0I\xd3\x1ct\x81\xd5\xc0\u007f^\x86\x15\xc8zwÆ\b\x95\r\xba0\x0f\x9f:S\xec\x8cv\xa6\xf7\xe0\",\xb97\xc4\xc2\xd0CV59u\xfe\x82\xd1j\xe0p\xf2\x0e]\xb0\xe0\x1e\x81\xa4\xaeڽ\xfb\x1b\x9bv\xef\x95\xeb1\xb6Z\x99)*-\xa0oI٨V\x94\u007f\xc8\xc7\xf8\xab\x044@Y\x9b3\xd7\xf7؞\xbb\xafH`\x1f\xfar\xef~\xba\xf5\xdb\xff\xd4\n\xfe\xc2/e\xf2\a\xccc\x9ak\xe1\xad[\xeda\xae\x95\x83\xaeʋC\x14\x02a\x96A\xe4\xf0S\xc1Q\xa5\x10\a\xf2<\xd3\x14\xc1\xb4,\xfa0\xc5rv\x1f\xf1\xa6\xce\u0383\x98\xe6\xea\x17\x0e\xe4\xaa\xdbs\xe8\xb0<\xfe\xafk4:\x95\xf2\x1a4x3+#HhK\xa3\xb9Y\\\xacKY\xb6\xfc\x16\xd3\x12\xe8\xb9\xec\x1c\xa5\xa3G\xcfW3P\x99?\x9e]\xc4v'O\x9e|֔v\xcao\x06\a\x03\x0e~\x1b\xe5\xfb\x05\xc5ŭ\x84\x90~\xa9\x9ed\xc8\xe8\t`\xf2\x95\xfa\xc3A\x97\x0f\x88\x90\x05\x02\x15z->\x82f\xd6{:^\xa4\x1b\xe6\u008d\x1bO\xf2\xaa4R2:\x98ߥ\xea-\xd0/\xf0\xaf\x83\xf2\x02f\xae0aY\xb3&\xa9\x01\xa2\xec\x1e7\\\xf2\x93\x82ϒ\xfb4\x03̝K\x04MRjJ\xd0o\xd2WZ\x98\xa3̉֗\x89\n\xe2*\xc0\xb7\b\x9al\xe2\xb4\x14\xa9\x8c\x1f\xc7\xdfPD]\\l(I;:9\xb9\x11[\x1c|\x06\x191\xb2IY\xd2X\n\x8b\xd8\xf1\xec,\x83&\xee\xcf\x04GIY\t\xd0\x18\xfa#^|\x01\x94\f\x88D\x87\u05ed\x85\xfa\xaf\xefE\xc4J\xa9:ߦ./\xd1\xf3n::\x9d~.\x98\x94\x05\x05Ǯ!\x0eb\x1b\xe1\x04\x9c30i\\\xe5A\x17Ӡ\x9a\x05\x98GSx\xf2\xaf\xa1\x01)\x88\xd9Z\x83\xec\xef\x12/\x00\xbf\xf8i\xf2Nlۻ\xaf\x94\x91\xa5\x96\xb8\x06@騲\xcbyRiS\x9d\x90ۅ\xf6\xf3Z\xd0\x10\xa0\xad\x12\x04U\xc0\xc5H\x98\xf6\xad\x96\xb4q\xa1\xeb\xb6n\x97K\xd1m\xac)mL\xf0I\xae\xb3\xb2\xb9U&\xdbi\xa2\xe9\x0e\xafx\xf5\xe6\x18\x85\xd9Ծ\x8aۑIi\x8dp\xbdN\v\xf5^mM\x11,S\x02\xfc\xa5\xea\x05ǎ\x97\x10\x17\x1fɷI\xfc\xc2\xca\xc8G.\xfa\xd9?\xae\xb8\xc5\x17uN\xe6\xec\xa3\xfc9#2\xa9\xe5\xd9\xe9\x8bY\xa5\xc43D2o\x96w(\x19l45\xae5\xd7\x1e\xa5\xb4\f\xdf0\xfaQ\xbf8\xfd\xe6\xdb}!!\xc0q\xb4\xc2\xf2f+\x9eGC\xd5r\x80\xc8\u061c\t\x1d\x80f\xc9\x1dzd\r\x93ݏ\xbaAS\xbf)y\xa5w\xb4\x0e\xdcX\xe0:\x033+,\x12\xca\v\xb3\xdf\xde'I\xa3e\x8b\\\xdf\xe1cu'Ξ\x93\xbdh'\xa1\u007f&j\x95\xe5\a\xbf\x18\x9c\xd0\xfcqpaaa\xfb\xcbEE\xcf\x19\x1b$r]S+\xe7\xbf\xd9+\xc8҅\xbd\xde!_\xf4\xb5i[K\xbf\x9c\xbfX^\xed\xafFS@\xed\x13\xa5\\\x0f\x14|\x1a\xcb7l.\x90W\xc2r\xf7\x95\x9a\\}\u009cg\xe5\xf4\x0f\xad\xa1f\xbb\b\xab\xdd\xdb6\xd5\xf8\xbd\xbc0\xfa\x87\xdc\xfc\x9bi\xa7\x1fW6\a\xdc\xd1\xe2\x8b\xf7\xa6\x84@\x1b\b0ܺ'\x9d\x1e?s\x8e\xde(,\x92\xc7\xc0\bs\xe6\x14\x81\xb8\x9e`\x8b\xc1\x1d\xe5\xf5\x8c\xf7HA\x8e\xa0\xa5\xb55Җ\xab\x8d\xd4\xd89A\xf2\xa7\x82\xef\x11\xa2\xff\xa1'/\xc7.\xb9ᶙ\xfb [\xea\xee\xf8ޱc\xc7\x1ee\xf3\xa63'\xcc\xf3\x15\xdaε\xeb@\x98\xa5q_M\xd72\rS\xf2aB\xef]\xc8(\x80}j\xc7K\xf6\x81v\xfb*\x04f\xfa\x87\xd3\xe5\x1b\u007f\x13SEF*\xef\xfd\x86\xa8M\xdaȦKC&6\xeeG\xbc'y4JͰX\xa3\xe9ɻ\xd0K\xa9$\xd0\x11\x00\xc6:\x94H\xab\xe9\x89\x18Q\xf9u\xd2\xe8t\xbe\x02\xd9\xe4ܼI_\xa8\xa9\x9bI\x18\xaf\x8d\xe5\n,V\xec\xfe!o\xc7\x1b\x17`u\xd7|\xcb\x1e_\x91s\"͙\x8fD\x82\xe5\xad\xfe.\n\x91\xcc\xc0R\x87\xd8\xfb\x90\xf3\xe8j\xee|\"6b\x96\x17\xf2\x8c(K\xe4`G\xb1\u007fe\x1b\xaeaJ\x11\xb9\xbe\xa1\xe0\v\xd4\xed<𗼰\xd3i4\x9a8\x85i\xd5\xd6\xd2\xf3\"\xcf\xcf\xe2\xfb\xbbv\xedj|\xb3\x9c0\xe7B\u007fLy\xa0C\x01\xf7_\xb6n\xd7C\xde:\xf1\xefSJz\x06\xea!c\xa1-/\xd2\x02\xf5h!\xdf\x1d\xcc\xc0\xb1_&k.]\xb9*\xfft\xa7\x90E`+\xb7\xe2jP\x83O\xb1Bq\xac\xcd\xe4R~\xe1\xef\x98d\xb5:]\x80\\G\x96#\x04ͭ\xb5>v\xa4\x1bS\xaf\xd7G\xb1\x89f;{\xfd\xbf\x9a\xbc&\xc2\xe4\xf4\x9a\xa0\xf9Y#\xfdC$\xdaO\x90$\xeb\xecx\xb334oY2ǥ\xee\xd8\xf1 \x94\xb9c\x8b\xecw23\xa5@\"[\xe5\"̒\xb1\x0f\xf5ge\x8dr\xfd\xf6?KĜ\xc9O\xb8v\x06\x856\x18\x81\x96}\xf5\xfd\x0f%\x19\x10\xafq\x1a\x9cX|6+\xfb\x16א\x8f\xb3\a9\x90\x12\xef\x1b\x04\xa2\x16ol9pgM\r\x91\xe4,\xbe}{\\\x88!\xaaJ\x94\x8c`TPސ=z\b\x9f9\xd4\xd51eʇ\tm\xd5 O\x1e\x1a\x913ɓo\x18讒\xcbSX\x18I\x82\xa9\xb6)\x92$\x02Q\xbb7\xb2\x18\x85\xb8\xcf\xca>Iy;\x89\xa2Ɗ@T\x81l*\x8a\xb4\xc8\xe3\xf6~3C\n>\xcc;L\xb2W\xaf^}A\xab\xd5\x06p\r\x13\n\xbef\xe9\xf5z\b\xa4|\b\t\x12\x81\xa8;Z\xe4#r\x8f\xc1\x1aȑ\f\x105\x02\x04\xa2:\v\xba\xfa\xb0\xd8\x12|\x98w\x10}vv\xf6\xcb\xd9\xd9\x05O\x1bZ\xc4\"\x10\x88ڹY\xe5\x95\xf9\xabr9<+\x92\xa4\x8cv\xa8I\"\xac\xb9\xa8\xabgZ\xb2\x83\xd2llH\xe3D \x10\xb5s\x93\xcaA;\xad\x8d\x14\x01\xa8.Ij0G\x12\x810\x9b0\xedP{D \xea֍)\xa7\u007fx\b\xe4f\xcdj;P\x89\xe4\xb1\xfa\xa8\x05 \x10\b\x04\xa2\xe1h\x92\xb1B\xb0\x8d5I\xf2\x90\xb8R\xc63\x8e@ \x10\x88\xfb\x85 m\x84>\x92_\xd7P\xfa\xc7/\xa8E\"\x10\b\x04\xe2~$I[!\xb4~\xa5\x95\xfbHj\x15}$1h\a\x81@ \x10\xf7\x15I\x8a\xdd\x1f\xf6\xd4\x10I\x0e@\x92D \xee\xef\x89\xc2\x06\x05Ř\x98\"\x98z r\xd0\xce\x13B3Y\xad\x95ͭr?\xc1\a\xcc\xdc'\x1b\xbc\x87QP\xea\xc8\xdc'WmP\xabն\xfc9\n\x8a$\xea\xdb\xcf\xed\fM\xca\xf5l\xa1\xf8/!G\xd2\x1a>I1\xf0\xe7\xdf\xf7B#\xc61\x8b\x82bU\xb1\xa3\x18h\x87\xb0DSQ>OMM}0\xf3ҥg\xa0\xca\xff\xf1\xe3ǟ\xbe\x1f\xe5̙3ϓ\xe6*G\x9dN\xe7l\xe5\x1cI=\xaf=y\xedʕ\x1bM7\xa5\xa7?\x96\x99\x99\xf9\x8c\xc9\xfd\xc9\xce~\x1a\n@W\xe1\xf2`N\x19\x02Q\x83\x93\xdfKL\xbec\xb2\x98\xc9\x02&ߣ\xa0p\x81n\xe3\xa9L:\x88\xe6U\xfe\xfcq&;y\xeb\x1b(\xe5\x96}\x1f\xcbE\xa1\x85O\x99\x95L\xade\x82\xe96\xcb\xcc\xfd8\xcf\xebV\x06\xf3slN\xe1\x019\xe8\xa8?\x0f<\x9a\x87\xe3\x16\x05\xa5Z\xb2\x80א\x1d.\xdda\u007f\xec\xdb\xe7\xb6\xeb\xe8\t\xfa\xf3\xd6?\xe9\xda?w\xd1\xd5\xdbv\xd0U\xec\xf9\xcf[\xff\x90\x1e%\xd9fe\xd9Z\xc5ϔ\xdf٪x^\xd5m\xdf\xcbc\xdcj\xe0uu\xcfGu\xf6k\xab\xf1\xef\xac\xf8}+\xddr0\x83n\xfcc\xe7|\xae9:B\xa7t\xe9yZ\xda\xf3\xfb\xff>\xa2\xb9\x92_@\xcfde\xd3\xf3\x97\xaf\xd0\xf39\\._\xb9\xf3u\x8eⳜ+w\u007f_\xf9\xdb\xcb\x06^_6\xb1=c\xff]\xc9o/09{)\x87\x16\x94wFg\x8a\x9fu8\x92o\xa7\xac\xa8\xb8\x98\x9e\xcdΑ\xfe\xc7Ծ\xc3\xe7p\x1eo\x94h\xe8\xfam\u007f\u0383s\x9c^\tI\xb2\xeb!-XZG\x0eju\xad\xb0\x88\"\x10\b\xeb!\x9f\xddS\xe3g\xcfoA\x88\xb3\xaa\x05\xf9\xc8%\x93\xb4\xear\x8c\xb8\xf8\x9c&\x9e\xc1\x17\x89_\xd8%\xe2\xdd\xfb\x12Q\x05]$\xdd\xfdΑ\xee\xbegI7\xdfs\xd2\xf3\x1e\xfe\xe5\"=\x17D\xf9\xba\x87\x89\xcf\r\xfd\xb6\xb2ߋ\xbf3\xf6X\xd9~\x98\xdcg~\\F\x9f\x9bz\xcf߂\xef\xf9\x19y\xedW\xc5\xff1绦\xfe\xd3\xd0g\x15\xef\x9da\xd7\xfe\x1a\xe9\xe2\x11)\xcd\xcaaa\x0eD\xa5\xe2\xfeɦ\x8dIW\xefm\xc4=\xe8\nq\v\xf5߾\x03\x0f\x93\xc0\xbe\a:\rJ<\x9d\xf0M\x8a.l줛\xe43\xb7\x0f\xa5\x9b\xeddV\xd6K\u007fed4gO\x1f\x12o\xc20u\xcaC\xebw\xecx2--\xfd\xe9\xb5k\xd7>1wժG\xd5\xd3S\x1f\x99\x9e\x9a\xfaȄ\xb9s\x1f\x9d;wգ\x13\xea\x81\xc0\xf1L\xe7Džr[\xe0\x1aOZ\xb8\xf0a\x13\xa6z[urrc\x18\x13q\x13\xe6>z\xbfI\xf9\xf8\x9d\xfb(;\x14{\xa6\xf9\xad\xe7\xfcVb\xcd\xf4\x8f\x9b7o\x86\xc1\xb9Z\x99\x96\xf68\xfcW\xe5\xb2\xeaQ\v=&\xb2\xaf\xf8\x01&\x8d\x99<\xc2\xe4Q\x14\x14\x14\x83\xc2\xee\x8f\xd7\x1e\vS\xab\x9f\xe6\xafeKKt\x15\xbdfaE}\x98\a\x02\x04\x17\x14\x14\xbc\xa1\xfc\x03\x95*\xd5\x0e&\xcb\xcc\xcc\xccF\xf0(\xf9\xab\xca\xcdq\xb6\xf0\xa8\xaa\xc3\x02\xfb\xc7}:\x18\x19\xd8\xc0\xa1NMud\x9a\xe4\x15+\xa6\u007f\xc8\xdb\xc8g\xf7\xcdSx\x86\xad|\xbd\xc0\xcc\xcc\xefaK\x85\xdf\xf3\x18\xd6_\xc7\x10\x06\xae\x1c\xb5ڶ\xaaו\b\xf3:\x9f\xd3mSRR\x1c֭['q\x93x\xcdϞ=\xfb\x0fvoF2\xd9.7E?Ĉq\xf2\xa2e\xf4\x9d~\xf1\x94t\xf3\xbdF\x9c<\xf7\x92\x0en\xb1\xb7\xf7\xb0\xb3j q\xf28\xc4>\xcc~48\x8a\x86~1\x95.X\xf3+=x\xe2$-\xbaUa}\x82Ȁt&ɐ\x1c]\\\\\xfcO\x03\xac\f\t\x98\x8e\\\xeb\xb8/ȇ7\xfdtgқI\xa0N\xa7\xeb\x85r\xa7\xb0\xf3bP\xea\xc1q\x053\xf1e\x12'\x10\x9b5\xd2?dm\xf4@~~~\x93\xdc\xdc\xdc7\xf2\n\v\xdf\xcc\xcd-lƞ7\xbb\xfd(J\xe1\xed\xf7\v\v-\x97\\K%W\xf1h\xea;Ց\\\x03\xaf\r\x1d\xb7q\x81\x05:H!;\x87999\x0fW\xf7\x9e\x87E=l\xaf\xfc\xbc\x99:\x0f\xb9U8\x0f\xb9fl#\u05cc\xf7\u0379\x16\xe6\x9c\xc3ʎ\xc1\xd4\xf5\xb1d\x1fr\xabpN\n\u07b8VX\xf8\x16\xbbO\x9e\x94\xf9\xc3Js\xba\x9d\x81\xeaV\xf0^G\x1e\xb1/-\x88Oge\xd3o\x97\xaf\xa2-\xfb\x0f\xa1\xc4\xc5\xe7*q\v\xf8\xb1yX\u007f\x9faSS\xfea|\x856}\xfa\xf3\x9f\xc7\f\xe9H|C\x87\x13g\xef_\x89\xb3W\x16\t\xecKC'L\xa5\x8b\xd6mTj\x9aי\xfc\xced\x04\x93\xb6\xe9\xe9\xe9\x8f\x19\xd8YG.\xb6u\x90\x1c\xed\x04u\x1b\x81\xa8\x89\xf4\x8fL&\x979\x01\xdf\xe2\xd6\x19\x94\xaaI\x01?\xa7_\x8b\xf7\xaf\x85\xf7\xbc\xdc\xed%FX\xf8k\xf0\xdc֚\xc8!\xd9;\xad\xe8\x16\xba\x83\x1c5\x1a\xcd\x1bܜ*\xf9\x19o\x14\x17\xd3_\xb6\uf83e\xa3'R\xd2ݯ\x84\xc9o\xefE\f\f7@\x8c6\x92f[\x11%\xd7V\x8a\x92\xbb\x8b\xc5S\x96\xacy\xbaG\xdc\xf0\x0e\xc4;d8\xd3472Ҽ\xf2b\xd8\x00\x1a\x9b\xfc-\xfd9m;=w\xe9\xb281\x9c\xe59u}\n5\x9a7\r\x1c\x80\xecϲ\xad\vU\f\xe4\xc8@\xe7\xc1\x89\xdf\xce\\\xb1\x86\xcef+\x8a\x14&\xb3P\x1a\x8c\xccY\xb9\x86N]\x9cJw\x1c8(i\x90VN\xff\xd0\xef?z\x8cn\u07bb\x8f\x1e\xa4g\xe0\xefL\xdd^I\xba\xf9\xaea+\x8b\xd5w<*\xc5\xd8\xfb\xe6~O\xf9\xbe\xf8Z|\xee⳺A\x8b9縲\xf3j\xe8\x1a\xc8\xef\xc1\u007fx\x85\xac%\xe4\xf9\xe5\xdb\xf6\xee\xcb\xe4\xe9\x1fz\xebpd9٦\xae۰\x8b\r\xb1\x1f\x89*h5\xe9\xac\xfa\xb9AH\xa7\x9a\x12\x8f\x95\xa4\xbd\xdbj\xe2\x1a\xb0\xackL\xc2?\x95\xc4g\x11\\\xbcG\x92\xcfz\xaeg\xfb\xbb\xa2\xe6\xf6\xb7.\x88{\xf9cgժ\xba9^\x9b>\x8c\x1e\x1c$ǹT\xb6\xd8\x11\xb8\xc3V\xc1)-\xa1\xe3\x0eW\xd8hvn\x9e\xe46\xfc46\x11̩y\xc4=\xf0{\xe7\xd8a\x9d\x94\xda&p\x9e\xac4Y\xea\x1c\xb7-gV\xc6\xecF\xf2\xb5\xfa\x8e\x1f\xffڿzG\a\x90\x9e\x01\xf3\x19;\x1fg\x93\x8e\xdew\xd4\x04:\x9f\xed\xd8Q\xb6\xea\xd3\xdeN9\xbb\xc0\xb5̐\x92\x92\x92&F\xb4L\xf0\r\xda\xdfc\xaaD\a>\x02\xc6߷V\x8cl\xd5q\xa6,\xc5\b\xf1\x1a\xbb^6gΜy@p\xe7\x98+\x8d̬b\x84\xa8\x1d\xd8T\xa21:*\xaf\x1f\xc4ư\xf7\xa2\x99\xec\x80ۮ\xa4TG\xb7\xa4\xef\xa7\x11\x93\x92)q\x0fғ\xee\xbe;\x9a\x84DG\xa9\xa7\xcf{\xfeNSb[\x89\xdb,\xb4FT:2m\xd4r\xf4\x91\x01҄\b\"\xb78\xf5\x87\x8e\x81}\x87\xb2\x95\xdaF\xd2\xd5;\xb7YD,U\xcf^@Ә:}\xad\xb0P\f\x00\x82\xa8\xa2\xe1LZ\x01\x8b\x1b\"L\xb9\x9a\xc8=\b\x95\xb3\xadSB\x88\xed=;\xf6:\x8c\x8a\xc8c\v\xceY\x06\xbb\x89\xd2\xd3\xd3\x1d$a7Sz\xbaaIec\x15\xbe\x03\x13-\x1fsiV\xec\xfe!\a\x00\x9d\xb9~\xfd\xfa\xe3\xb0}\xb6B|0\xfdv\x1aM]\x13)f\x00\xee\xedjK=J\t\xaaO\x80\xac\x03\xab\\\xdf\x1a\x14c&N\xb1S\x8f\x8c)\xa9\xa9\x0f\xb2\xf7\\\x98,\x85\br\xb8\xd9N\x9c\xbf@\xbfZ\xf2#}&l\x00%]\xbc\xce\x12\xff>_{%\x8djy\x97\xf5\x90\t'\xc6{\xa4 \xb1?\x03\x1b\xae!;\xf2\x84ٳ_l\x135XE\\\x03f1\x95\xff(\xd32iи\xc9\xf4\x87\xf5\xbf\xd1\xd3Y\x97\xc4I\x85\xcdmt:\x1c4\x9b\xb4\x1e7b\x92m07\x9flz\xce\xc9\xc9y\xb6\xb8\xb8\xb4\x95V\xab\xfd\x80\xad\x96Z6\x10\x81cm\x9d\x97\x97\xf7\xa2%\xd1n\xd55׳\xdf\x1f\x13\xb5@k\x90$\xd3$Wԇ\x15\xbc\xa5(\xd6j[jt:O\x9dN\xe7\xaa\xd1hz\xa2Ԇ\xe8\xdc\xf8s\x88\xda\u007f\xaa\n\xfe\xdbZ\x9f\x03\xe5\x18\x16\xf1}6\x17\xb6`\xefM`r\\\x8a\x1c-,\xa2+\u007f\xdfJ\xddG\x8c\xa3Lc,&\xdd\xfd\xd6~>`\x88w\xea\xa6Mb\x10\xa9\x8d\xe4>\xac\v\xc7\x0f\x17A\xc5v\x86\xfb3\x95\a\xdd\xc8k(cu\xef\xde\t\xa4\x8b\xf7\x16\xd2ï\xf0\x93\xd8\x04)h\x02\x02\x1an\x95V\xa4\xa6A\x81\xe7%\xe0t-**z\xce؉\xab\xaf\xa4ɏі?\x9f%䫖5\x10\x91\a\xc2zyLUF\x80\xc2\xf9\x82q1\x95\xc9j\xbe\xc2\xfc\xb1\x12\x81\x02\xc6˘\xac\x12\xaa\xec\x94Y1\xb2\xf5\x04o\x1a\xf0\x93\x19\xfbR\x1b\x02\xe7h\rL:\xd5]l\b\x91\xe2\x8e\xf2\x04\x86\xa8\x1b(\xd5\xebG\v\n\x87M\x1d\x9e\xf7*bT\x14\xe6\xd4\x17\xb99\x15\xac\x8f\xa5\xb0\x8a\xddu8\x83\x0e\x99>\x8b\x12\x9fP\xd0\x1a\x0f\x92\xc0>\tC\xbf\xf9\xe6\x8evt\xa0\xb8\xa9\x8c\xc4\xd6\xd4\t\xa8%\r3L\xd60\xef\"\xb4>㧾\xf2rHt0q\xf5\xfb\x91t\xf5\xcez\xb2w?:l\xc6\x1c\xfa\xfb\x9e}\xd2\xea\x80#\x97Ox\xa1\xb7n\xddz\xd9\xc0\x89uTF5\xdd\xef\x10V{\xf6\xa9\xeb6\xfc\xb8m\xef>\xbau\xf7\xde\x1b[vケ\xb5\x01Ȗ]{\v\xb7\xeeI\xa7k~߲\x89\x9d\x83F欀\xc1l\n\x8fK֭k\xaf\xad^\xd9\xd52+\xceM\xfa\xfbe\x12e\x9a\x1f\x8d\x9d\xfcM\xefꐤ\xea\xb6{\xc0f\xc6\x0f\xa9'\u007f\xf9c\x17M\xdd\xf0\x1b\xfdiS\x1aJ\xad\xc8\xef\xe5\x8f\x1b7Ә\xe4\x14\xfabp\xe4\xc4rkc\xddr\xe3\b~\xc6;4Ƽ\xbc\xbc\xc61es\x96\xff\xac\xb3V\xf7\x0f\xbe\x852\xa8m>2\xe5;\xda:z\xb0\xf4?\xae\x95\xecOm\b\xec\x93G\xe2\xa8R\xb0\xe8\xfc\xafo̹\n\xebLՈ\xf2\xf6o\xda\xf5\x18*E\xa1\xb6w\xfd\x81\xc92\x85\xa4rYf\xe0Q\xf9\xb9\xf8\xda\xd8\xefR\r\xfc\xc6\xd0g\x95\xfd\xde\xd4\u007f+\xb7\xbb\xcc\xc8\xefR\x8d|\xaf\xb2\xe32g\xbb\xa6\xb6o\xfc\x1c|\xdcm\xc9K\xbd\xa3\xd6w\x8c\x1d\xe2[\x97L\xae\x86\xf2\x19پA \xd6g<\x88\ue0a4%\xdd(\xa0+6\x839u|\xb99\xb5\x87߆\x96\x91\x03\x83\xc7-X\xf0\x942\bG\xaa\xb6S\xaf\x1a$\xb3\x8b\x05\x93\x9f\x92\xf1!\x90\xc2;iԧĻ\xf7x\xd2Y\xb5\x9f\xa8z\xe9\x03\xc6N\xa6?\xfe\x96F\xb3\xae\xe6\xc9s\x11D\x00m`\x12\x95_R\U0009a060\x1f\xfb\xfa\xa0]\x06\x8e\xfa\xa2y\xf4\xb8)\x1fGO\xf8\xf2È1_\xb6\x8e\xf8\x82\x89\xfcXG%r\xdc\xd4V\xd2>Z \xe2o\"\xc7Mj\x15\xf1\xc5\xe46a\xa3\xee\xcc_2g\x82\x8ePO\u007f\xe4р\xf0V\xa4\xa3{k\xb6\xd2lE\x9c\xbdZ\x1b\x95O][}\x1e3\xf8S\xf6\xb3f'ϟ\x9f\xcc}\x88:ki\x90:\x9d\xee4\xf1\x0enE\xde\xfe\xecC\xe2\x11\xf2\x11\x1b˦\xf7\xa7\xb6\xa4\x83k\xabW{G\u007f\xec\x12\xaf\xfe\x97\x15|\x93\x18)^\xb7}96\xb5\xf7\xd7\x15\xe6ԻbWJKK[\xb3\xf7'19Zn\xd9(\x95\xa2S\a|5\x83B\x1c\v\xe9\xe2q\xe0\x99^\x91\x89\xb1\x93\x93߬\x0f\x1ac\x15\x95\xa7T;)\xc2U\x11\xfc\x03+\xdb\xc0\xa4\xf1-\x98V\x91H\xbax\xed\"=\x03\xb5\x1elE\x01\x81?\x17\xae\\\x95'\xa5\x1bL\xd6AI\xb9\xa2\xa2\xa2\xe7\x8d\x04\xfd`\xf1\xe7\xfa\x0f\x9bj\xdc\xc0#j\xa0f\xeb\xe2\x06|-칋\x05\xa5zbg\x05\x91,x\xf7\x9aLL\xf9\x18\x01<\x00g4o*PVZV&\x15v\x185g\x01\xb5\r\x8e\xa6l\x01\a-\x1b\x93U\t\xea6\n\x85\xc7\x06\xb8BՐ\xa3\xff\xe1\xe0[\xdcѳ\xf06\xfc\xd5c\xdf\"\x81\xe1CI7\xdf?\x89[\x80F\xc5\bsن͢\x86\x99\xc7\x03\x12ܡ\xe2\x82!\xff\xe5=\x18\x1cv\xdc\xf4\xebXMit\xf0\xe0\xc1\x87\xd3\xd22\x1eIKK\xab\xd3\"\xedgF\xc6#k\xd2\xd3\x1f\x92\xfd\xd0aRiji\t\xe3Q\xd1a))\x0eP`\xfc\x0eQ\x83\x94\a\xed\x98+\x90\x02\x12\x1d\x9d\xdc\b\x9c\xf5\xe6\b\xec/\\3\xa6\xf5\xfddE\x92\x94SH\xfa\xc1\xb63\xd8y!\xe5\xb9X\x8e*+\tlK2A\xb7`\xf7I\x98udǎ\x1d\x0fZi\xdcJc\x97\xe706B\xa9\x92<\xc0\xfd\xecҸ&\xd5\x15r\xef4HS\xf9\xee\xec\xbdw\xf9\x824]\x8a'\x82\xee\x19'O\xd1)\x8bS雑\x83\xca\xfd\x8c\x1eA\x8b\xdaD\x0fr\xd9q\xe1\u0083Js\xaa\xf5s\x1a\xeb\x81f`*'3@=\xf6\xed\xe7zE%\x90\xae>;\x99\x86\xa9\v\x1c;\x99\xae\xde\xfa\aͻQ(\x16/\x98\xc1\xe4S\"\x04\x0eɅok\xc2\x1cK\xeb\x95=\xfc\x9e\xaf8m,h\ve\r\xb1\x13\xa2b\xff\xb4b\xfa\x87\xec\xd8l)\xf8^\xac}l6u9R\x11Ѱ\xe6\x13A1\xb8c\x9e\x86\x05+{\xef#&c\x99\xec\x97]\x11Pd\x06\x02p>\x1c0\x144\xc6<\xa6\xf0\xach\x1d\x19\xeb\xafNIyZI\x8cBN#\xc2<\xb3\xac\xca\xcePHo\xf8\x98\t\xef\x11\xbf>\xa3HgσĻ7\x8d\xf9z&ݒ~\x80\x96\x94V\xccy\xfb\x98\f1\u0ff4Z\xa7\x12y@\x17\x16\x16>SZZڎɧ\rH>aҡ\xa4\xa4\xe4uKn\xee\xba2\t\xb0\xfd8e\xa5\x88T\xb9\xd2Ι{\xb8\xef\xb6\xd6\x18\xb7Z\xad\xf6C\xde\x19Ň\x89\x1f\xa4`\x89\x8f\xca\xe7\xe6\x889\xdf7\xb5}c\xbf7\xf4>\xaf\xd3\xe9k\xc9~\x1a\xfboq[\x95m\xcf\xd4\xff\x1az\xad\xfc\xae\xf8\xc8\x05\xce\u007f\x10\xbb\x97\x9a\xd6E\xa2\x14,7v\x862\v ϝ\xbd\xe7\xcc\xe4\x1b\x9e\xff.\xad\x1a3N\x9d\xa1\xd3\u007f\\I\xdb\fL`\xc4\xe8\x9dO\\|ּ\x17\x11\x132a\xf6\xa2\x17\x95~F\x9e\x11\x81\v\xc0\xeaj\x99\x86\xf21\xe1¹\x0f\x1d\xf51زI\x17\xaf3\x8d{\xf7\xa3_\xcc_\xccT\xfa\xd3b\x84\xec\n(Z ^\x04\xbe:\xafV\xee\xa5l\xcae\x8f3\x1bpJ\xd6I\xe1<ؙ3\xb9\xf3\x1b-\x85\xc9\x16\x1e\xbd\xbc\xf1\x1e\b\x04}mb\xf2+T\xdaa\xa4\xa6\xb5R\n\x88L\xb2\xd7\xf8\xb6\xe5\xff\xb2澯\xe7\x9dw \x97\xf8asε9$\xc9\x1e\xff\u008c\xc2:\x85d\xd9|Y\x9b\xf3\xac07\x1a\x8d\xed`\xef7\x814=\xee꒢R!\xef=\xfd\xc81:y\xd1R\xfa.\xf4g\x84\xba\xa9\xdd|W\xbd\x16\x1a\x1d<\xe6\xbb\xef^Rl¶\xc1\xfb\x19kZ\xbb4T[\x16\xfcM\x1fFǺ\x11U\xe0O\xec\xe2\\\xef\x18?\x82.\xdd\xf0\x1b\xbdz\xfd\x86X\xe5g\x88\xd8\x13S\xe8\x85iS\x85\xc9F\xba\xc0W\xae\\i\x93w-\u007fRn~\xfe\x18&cA\xae\xf1G\xe5sCrM\x90\xaa|\x96k\xe2;\x86\xf6\xe5\x9a\xe2}S\xdb0v\x1cy\xd7o\x8cʻ~\xfd\xcb\x1b7\n\xbd\xcc\xd5\x12\x05\x92t,\xd1h\xa4j7\x1am)\xd5\xe9\xf5\x90\xfc,=*\x9f\x1b\x92R\xe1;\xa5&>\xd3\x19\xf8^\xa9NW\x139\x92:mi\xa9\x16\xb6]\xaa\xab\xfcXJM\x1c\xa3\xf2\xd8`{Z^t\xe3f\U0006d8bf22\x9aW\x97$eSֹ\xec\xec6\x97\xae\\\x89̹r%$;\xe7j(JmHN(\x9c\xff\xac˗#N]\xb8\xf0\xbax}\xee\xb1\xeb\xc3\xd1P\ue88c\xec삧y_F\xa8|\xb3Knw\x05\xe9\x1a\x90\xe7\x9e0s.}\x96)(\x90\xffN\\\xfdS\xdf\f\xef\xefg\xb0?\xa3\xac5\xa2۠\xf6}\x98\xf1_\xa7\xfc\xabYX\xff\xc1좥3-\x93\x0e\x9d1Gj\xd3\"w\x8eg2G\xabվ\xaf$Ks\xffX.\xc9\xd7s\x88\xfa\xb5\a\x82\"\xae\xb0US\t\xe9\xee\x9bO\xba\xfb\x15\xb0\xc7\xc2\xf2GY\x94\xaf\x95\x02\x9f\xcb\xdf1\xf4[\xf1sc\xbf\xad\xecsC\xfb\xa2\xfcOC\xdb1\xb6?~\xd7\xd9BDK<\x82O\u007f\x1e\x15\xf7\x02_\xbd\x98\x9e\xb8\xe5k\xf4\\\xebg\xdf\xe9;\xf0\x9a\xeb\x88\xf1\xb4\xebБ\xd4eب\x1a\x17g&\xde#\xbf\xa0$\xb4?]\xb8\xfa\x97\n\r\xb0:y\x92\xfc\xa7\xd2v\x92\x97\xfeDߎ\x8e\xa7nIc\xac\xbe\xef]\x99tO\x18M?d\xab\xf3\xffE\xc7\xd1N\x83\x12\xba\x8bc\xd0\x12ȿ\xe9<(\xa9ՃA}u\xa4g`1\xf1\xe8ULTA(\xb5#\xb7\x98\x14\x11\xf7\xa0\xb2WzG\x9f\x1c4i\xd2\xc3|B\xb2\xa9ABt\x10\x02\xb6\f\x12\xf2ɜ\x9cg\xd9g\xed\x99$pKF\x8e\xb4\x1a,+\xaf\x97\xba\xe4\xd7M\x14bB\xd8\xdcZF:{\x1e%\x9e\xbdR\xda\xc5\xc4w\x9f\xb1x\xf1\x13\x8a\x15\x99-\xdc\xf7\xd2<\x8d\xc4X7H\xd3P\x1e\x8d\xcf\xf0\xb1\xed\x88W\xc8|\xd2\xc5+\xff\xf3x5]\xb1y\v-*\xd1Ț\xc4Z&\x9d\x94fXs\xb4Yxl\x1a\x1dݸ\xd3\xc0\x84\xa9\xae\xf1#\x96\xf5\x182|\xa1\xeb\x90\xe1\x8b\x1a\x86\x8cX\xe0:D\x9d\xda-n\xf8\xe4\xb7\a\rz\u061c\x15\xb0\xfc9\xe46\xb6\x8e\x1a<\xa1ih\xbf\xb9o\x84\xf5\xff\xf6\xdfa\x03R\xfe\x1d\xda\u007fVM\xca\xeba\xfdR>\x1f8t\x0ey\xfc\xfd\xaf\xff\xdc\u007f`\xb7\xdc۪z$Y\x9ecY|\xebV\xaes\\R\n\xf1\vOy7b\xa0\xd5\xf7\xfd\r&MB\xa3\xbf\xfd 2vn\xfb\x01C浊\x8a}C\x1c\x83\x96Za\xe0\xb1et\xf4\x8b\x9dc\x87\xcd\xee\x1e\x9f\xb4\xd8%n\xf8\xc2n\xf1IߣԚ,`\x92\xfa\xf9\xc0a\xa3L-4\x15\x91\xddb0\x9al\x1a5TȾ\xd2t\xb8yii\x0fh4\x1ahB\xef\xc9d\"\x93\xcdL*\nmC&\xc1\x86\x9d\xbb\xa9z\xf6|\xfa\xb6T\xf9\xc6\xe7:\xe9\xec\xf1;\xf1\x0fO\fH\x1a\xd7*3\xf3\xceB\xe40\xffJ\x91\xd8\x18|S\xb7!\xf7\xc8\x14\xdf\x03\x87\xf1\x8b\xc1Ѡ]\x1e!\xc1Q4\xf9\x87\x9f\xe8\xa5\xdck\xf2X\xd8\n\xcegE\xf4\x96}%K3\\\x19\xdd>\x19杋:p\xce\xd8u\x1dg\xa5\xf4\x0f\xb9\xf6\xeb\xbc{~\x10ՙ\x80p\xf2\xaa\xdbwR\xf9\xdc#\x92\x9fU\xfa\xeffgg?t\x8b\xd2W\xd8v>a\x12\xcc\xfb\xfe\xfe\xc2\xeb\xee\x16K7\x04[4\x9e˹L7\xec\xd8M\xc7~\xf7=m?(\x91\x92\x9e\x01\xc5\xc4\xc9\xe3\x00\xe9\x110\xe3\xed\xf0\x01\xee\xd0\xc4\xc2\xc0\x84k\x8f>\xc6\xfb\xdd\u007f\xa9H\t\xf9\xb4\xff\x10\x15q\x0f\xd8B܃\xe8\xf0\x94\xef詋Y\xf2\xc4\a\x01\x12m\x84\xef\x9a\xf6W\xb2π\x90\xa5(\xdc\x06(\\k\xb7\xb1p\x16\xb0\xe1+fvM\xd4\xf7@\x88\xad\xba\xbcm\x90\xb4\xe8a\x1a\xe0\xcfVh\x91U&\xa4\x8f\xf8\xc3v333\x1b\x95\x13P\r\t4\x13\x80:\x9c\xd6 9\xd8\x16\x9b\xd0\x1a긽\xd7r{\xbc\x97\v\xbc\x97\x92\x9e\xee\x00c\xe6\u0085\v\x0f\x82\xf0\xbc\xd5J\xaf톃\a\x1f\xe6\xfd\x14\xff\v\xe9nLܘ\xf4\x82<]&\x83\x99\fc2\x8a\xc9\x14X\xc0\xf1\x82\xf6\xe0G<\xcd\v\xb1\x94\x0f~}\x99Ԡ\x18\n\x87\xcf_\xb3\x8e\xf6\x9f2\x9d6\x8f\x88\x85R\x917\x88\x93\xe7~\xe2\x160\xfb\xf9\xe0\x88 \xbf\xc4\xd1\xff1\xe6>\x91\n\x8a#1\xd63\xffe[\xa5)vd;\xe2\x1d\xb2\nj\x88B\xb1\xf5s\x97.\xcbc\xe8\xfb\x9b7o\xbe \xac\xecL\r^\x9b\x06.U\xba\x1e\xf7R\xa0\xb7\x9e\xb0\xf0\xd9k\x05\x92\xd4\t\xe5\x12_\x85\xedBo\xd5:|\xbeq\xdc\xd6\xe2}\x01\xf3\a\x14\v\x10\x8a\a8T\xa2\xf5=\xad\xd1зy\xffD\xe8\x86\xf1%\xef,\xb3\x93G\x94\xe7\x99j\x16\xae\xe7$XP|\x8b\xe6\\\xbbN\x8f\x9d=O\xff8p\x88\xa6n\xfc\x9dNX\xb0\x84\x06\x8d\x9dL\xff\xd3w h\x89E\xa4\x93\xea\x04q\xf6ZK\xbc\x82\xc7~\x18\x11\xeb\xd6w\xfc\xd4\u05cch\x1c\xe5d\x8f\xfeņ\x01\xa8\xfe\"\xaeȡ\x06)#\xcb\xd5l\xf5D\xc7\xcf[Doܔ\xac\x0fPi=X\xd4@\xf1\xccݷ&,{\xfe\xf8$\xb8Y\xac`n\x95\u007f\xbbE\x9c\b\xf1L7\xf8qf\xa3(\xcff2/\xfb\xf2\xe5\xcb\xcfA\xefX\x9e/9\x8a\xb7q\xdb\xc3\xc7h\x89\xa8\xf5A$)\x04\xcd\xec8x\x98\xfe\xbce;\x9d\xb3r\r\x1d\xc7檁_ϔ\x82hz$\x8c\x96\x02\xe1\xda\xc6&\xd0\x16уi\x13hD\xec\x17\xa6'=\x03\x8bH\x17\xafl\xd2Qu\x98tt\xdf@\\|\xbf%>!\x83\xa0\xcà\tS\x9b\xa5\xf3*Twϑa\x0e\xe0[\xac\x8a\xef\x1bQ\x8f\xb4K\uedec\x18Ľ\xd4\xe3\xdb\x13U\xd0N\xe2߇\xaeܼE\x1e\xa3\v\x84\x9b\xc0\xe1>\xbaY\xed\x1b\xb0\xd8\x1a!ɷ\x04\x82\xd3Y\xc1\xd4:T6\xcb׀_\xaa\xa1^;\xbb\xfb\xe4\xfe\xb255\xe6D\x80)U\xa3\xd14c\xdfq\xe5\x11\xa3K\xb8E#G\x1e\x8f\xa0\xfd\xe5\x15\x14\xd2#\xa7\xcfҍ\xbb\xf6\xd0ٌ\x04\x87N\x9fM{&\x8d\xa1M\xc2\x19\xe1y\x04\x97\x10\x17\xef\x1c\xd2\xd9#\x83i\u007fi\xc4\xc9s){\x9dLz\xf8\x8d`sV\u007f\xe2\x1b\x1aL|\xc3|\x9e\f\x8c\xf4h\x12\x12\xd5\xe3\u007f}c>\xeb\x1a\x97\xf0A\xf8ĉ\xaf'\xa7\xa6>S\xc9\xdc\x05.\x10G\x98\x0f1E\x03a\xd0G&i\x96\x82\x89\xc4ipb_\xe2\xe2s=`\xf4DZT\"-\xe86\v7\xc8\x03u\xfd\x06Ƌz\xe7y\x10H\xd2E :}5HR~|\xc7\xda$\x89ׯN/:\xe5|B\xa3D~\xe1\xc2\x05\xb0V\xbc\xcf$\x90\x9bI7p\x13i\xb1<\x80\xae\x17ݔ\xc8p\xdd\x1f;鴥\xcbiĤ\xafi\xcb\xfe\xf1\x94x\x05k\x18\xf1e\x13'\x8ft\xd2\xd5\xfb'\xd23h\"\xd3\x06\xc3\xdf\n\x8b\xe9\xd83>\xa99\x94q\xb3B\xb1\x01[ٟ(g\x03`\x198\x84ٚ\xa5\x18\x88\"\x95O\n\xec\x93F\xfc\xc2e_\xe5*\xe1\xa6q\xac\xe5\xca\x18&\x01\xfe\xb1\x92\x12\x9d\x8bV\xa7\xf3g+Xo\x8dN\xe7\xc3\x1e\xb9\xe8\f\x88\xc6\xc8sC\xbf\xd3\x18y4\xb6MM\x15\xfeOg\xc6>\bۇ\xe3\xd3\xe9\xbc\xd9s_8\xde\x02J\x9f\x12\tG \xc9AV\xf4G\xee\xb76\xb1\xc9\xdaH\xa1F\xf3\x16\xbbv\x01\xe5\xc7d\xe0x\r^KC\xd7\xc5صљq\xce-\xfd\x8e\xc6\xcc1a\xf4\xfaz\xb3c\x0e,\xd6j[\xd6\xf6bA \xc5F\xa6\x16@9\xe5\xf9\x84P\xab4\x9c\u05cd\xde\xc6M\xa5e\xb2\x99\xf4\xe2\xd5\\\xba\xe3\xe0\xdft\xfe\x9a_\xe9\xe0i)\xe5\x11\xa3\xde!:\xe2\xccȰ\x93j\x17\xe9泈\xbd\x1e\xfe\u007f\x11\xfd=\xbd\x86\x8c\xfa\xdf]}\x13\x8dk~v\x159\xe2\xa2\xc8\xef\x8b>DY\xca\xcf).\xc2\x10ՇStrE\xfaȇ\x91\xb1\xb3\x89goz\xfab6\x8c\xfb=Z\xad\xf6]QC\xa9K\xbd,\x85\xaa6\xaf6\xf0\x12_>\nr\x94\xcf\xcb\tc>\x98\xb9pų&w\xaemy\xbe!\x94┢H\xeb]\x83a\xc4}\x0f\x95P'\xf6\xa3~\x83\xbf\u007f.b0=\x9cyJ\x0e\xda\xf8\x8e\xad|\x9b+n\xb8Z\xefe)\x93\xf5\xd4y\xf3\x1eO?\x9410\xe3x\xe6\x88Cǎ%2Ij\x00\x92x\xe8\xe8\xf1ᇎ\x1cK\xec\xe0\xd1\xe3c\xd91;\v\xe7\xc2\xc6ʄhgN\xee\xe1\xb1c\xc7\x1ee\x9f\xb5\xe0\xf9\x84\xdf\xf0<\xea,\xd9D\u007fS\xa3\xa5'/d\xd1\xf5;v\xd3/\x17-\xa5>\xa3&\xd0'C\xa2(\xe9\xee{Mj\x1c\xdf\xd5{\x11\xf1\xe8\x15\xf7N\xf8\xc0.1\xe3\xa74\xad\xc4Ec\ad(\xe5\x19\xaaySz$C\xc4\xfd\x02\xb1zO\x9b~qӉ*\x98N[\xfa\x13-(\x8f~\xd5\xf0\xe2\xe9]Tw\x17^w\xa8\xccwQ\x13\x90ˎAu\x16\x12:\x00\xba|\x97\x11\xdf0J|Ci\xf9\xa3,\xcaצ$T\xf8~\xa8\x81\xf7\xcc\xf9]e\xdf\v\xb3p\u007f\xc2\f\xec\x0f{\xf4\xee\xad'\xc1\xfd\xe8\v!\x91#\xe5ո`r}\x8e\x17\"\xafNd\xab\xacE\uec36IP.\xde\xef2xػ\xff\xec\x1d]~<>\xa1\x16\x9c\xa7\xea\x9cǚ\xf8\xbe\xb9ۨ\xb8ve$\xa0/%\x01}.t\x8aQ?Y\xbeRU\xd9U\x93\x14+\xf5#Λ7\x0f\xfa`BP\x8d\a\xafM\nE\xe5\xcf\xc9c\xa4\xa4\x94i\x88Y\xd9t\xe3\xce=t\xca\xe2eRyC\xfb^\x11\x94t\xf3\xcd%N\x9e{I\x0f\xbf\xf9l\xff\a|\x105\xa8}̘)\xff\xacd\xe9mG\x04_ \x8f\x1cEBD\xdc\xe7\x1a\xa5p\xa3z\r\x1b\xe9LTA\u007fA\xc5\x1e\b\xc1\xbe\x9a_\x91\x9b{\x94Wry\x9fܝ#\xe5`\xaaN\xa25!;\xe0;\xc4\f\xfd\xd8iP\xc2$\x97\xb8ᣜ\xe3\x12\xc78\x0fb\x12Wυ\x1d#\x1co\xd7A\x89\x13\x9dc\x87\xb4\xe0\xa7\xc4V\x9e\x1c\xa1H\x84\x10pS\xd5zt\xb2\x06\x1a-\x9aG\xady\xedZB\xa9\xc3ءq]\a'\x8dg2\xba\xde_7Y\x06'\x8d\xec\x1a7|b\x97A\x89\xe1\x15\xe4h\xc1\"\xc4\x00)\x1a\xfa\xad\xcd\xf5\xeb\xb7^f\x9f9\xf1\xa4\xfb\xe5\xbc\xe2L\x89\xecl\xbex%\x97n\xdd\xf7\x97\xd4\xe6\xa9\u05f8/\xe9S!l\xc1\xd2͇i\x88\x1e\xfb\x98\xa6\xb8\x90\x11\xf9\xc0\xcf\a\x0e\xeb\x107m\xda\v&&\r\xbb\n\xff \xfa\x03\x11\r\x02\xbc\xb2\x8e\xfc\xb2Kl\x82?\xbbav1M\x8d\x0e\x9b9Wj\x11\xa3\xbf=\x01\xa7\xf3\xa6\xa3m\fh\x98\xb6\x9c4픦@+2%F\xaa\t\xa4#\xf8\xf9\xfaU\xd3\xd4*k\x9f\xd0\x01\xe1%\xf9zZ{\x9cᕻMh\x95\x10\xa2\xadP\xb0۠\x96x\xb1\xa0\xe0)\xbe8\x8a\xe2\xfe\xe8t\x9e\xff,\xe1\xea\x8d\x02\xba'\xe3\xa8\x14T\xd3o\xeat\xfa\xdf\xc8A܇\xe8\xfe7\xe9ⵔi\xf2\xf1\x9f\xc5\x0e\xeb4\xe6\x9b9/\x1b\xbbW\xa5|B\xd9L\x8a\xf7\x1e\xa2\xa1CY\x0f\xd6+Qݖ\xb8\a\xcd']\xbd\xaf@\x0f5\xe8\x06\x01\xcdF\x85\xdc\x02\xd00g1Q\xc9\x15|\f\xdc\xecv\xe6\xe4ZYj&\x06\x82nh\x02\x93\x15\\#qA#\x90\xe4\x92j\x92\xa4\x1c\xec\xf3\x83p\xedjd\x91\xd3\x10\xaf]E\xbfX\x95J\\X\x9a\x9d\x8f\b\x11\xdd\x10'\xc0\x13\xf3\xbf\xe2\xfdJ+\"M\xa1\xfa\fܛ\xcb7o\xa1I\xdf~G;@\x94\xa9g\xb0\x86t\xf1<\xc5d\r\xe9\x198\xf2\xcd\xf0\x98\xee1S$\x1f\xa2\xa31siS6\xbe*\xc6\x18.j\x10\b\xc3\xe6We\x9b\xa2\xc9K\x96<ݼπ \xe2꿆\xb8x\xe7\xbd\xdf?^j>\xba\x97\xadRo\x96T\xcc\xc9y\xbc6\xec\b&\xed\xf2\xf3\xf3\x9f0\xb2J\x96\xcbW9`\x15\x17k)h\xd2B\xe4D5\x8a\b\xe8\x05\x13\xad\x93|\x9d\xf0\xcc\xd6ȵ\xb2\x15\xef\x01c\xdf+..~\x11:\xf8\xf0\xe4\xfc\x15\xdclzKZ\x05\xe9\xf4\xf4Lv\x8e\xe4G\xfcr\xd12\xaa\x1a>\x8e\x12\xffph\x04\x9c\xcd\bq+q\x0fH~6$ҿ{|\xd2\u007f!\xd1ߨ&+\xe4\x13\xa2\xff\x10\x81\xa8\x8ai\xecv\xf1\xe2\n$L\x99\xf9\xcf\xf7#\x06\x06\x11\xb7\x80\xa5\xc4\xc9\xe3\x02\xe9\x15Ic\xbe\x9aIWm\xd9N\xcf\xe5\\\x11'\xde,^\x85\x1fn\xf2\x0e\x90sedҰGҬ:9\xf2\xc77\xab\x19\xc9*\x9bZ\xff\x12\x02\x81\xb0\\\x97\xf5I\xd1ވ\x96\xf8$\xd5j?\xe4\xe9\x17\xb3y\xb5\x9a\xdbf\xd3\xfc\x02\xba\xfb\xef#\xf4\xbbU\xbfо\x93\x92\xe9+P\xa1\x06z\x9eB\xa4iw\xbf\x05\x8d\x83\"\xfaw\x89M\xf8\x04\x92\xf1\x8di\xefF|\x88\b\x04\xc2Z\x84\xc9MEwL\x9c\x8b\u05ee}\xa2\xcb\xe0\xc4\xce\xc43x\xa2\x948\xdc\xdd\xeff\x9b\x81\tR\xcd\xc5\xcd{\xf6\xd1Ky\xd7ĉ\xf8\x12\xef\xe5\x06\x11v=KJJ\x9a\x18\x99Tl\x94a\xecX\xa5\xc5\xe8\x04\xec\xc8\x1fC\xab\x19\xd5*k\x9f\xfd\xf9\xf6\x1a\xe1ٵ\xf8Z\xd8\x18p/\xdc=n\x99֦\xd1h\xde\x10\xfa\x1bnbr^\xd6\xe4!\xfd\xe2\xe8\xd9\xf3\xf4\xe7\xb4mtĬy\xb4\xfd\xa0$J{\x97'\xe9\xcf䭟\xaeV8\xed\v\ni\xfa\x91\xe3t\xe1\xda\xf5\xb4\xff\xd4\xe9\xf4-\xe8o\xe8\xea_ -(\xbb\xfb.&\xfea1\x9f\xf4\x8f7n6\x95V\xa9\xe8GD \xeeG\xd8T\xf8:d߇\x01\x84\x8d\x9eؤeD\xac\xbbd\x9eu\xf2\xd8L\xbax^\x84dk\xb7\xa4\xb1t\xd2\xf7K\xa5\x8e᧲\xb2iI\xa9Ni\xa6\xdd\xcekG\xf6\x85F\xacyyy\xd0=\xdc\xd6\xc4*_\f\x0e\xaa\x97\xc4)\x9bDycZeqrK\xb5H\xe8\x1b\xf9\xbcL\bH\x8a\x95\a׀5\x85\x9bM\xddy\x0e\xf1z\x9e\xa4\xaf\x97˸e\x9e\xbfH\xd7n\xdfA\xc7\xcc\xfd\x9e:\rQS\xe2\x19R\xca4ij\xa4\x8b\xd7:\xe2\x152\xee\xc3\xe8X\xb7\x88\xf2\x8a5\xb6\x06\xef)\xb1^)\xfa\x11\x11\x88\xfa\aX\xe9ʵ\x19\r}\xbe`Ŋ\xa7<\x86\x8e\xfa\xc86\xb0o$q\xf1\xf9\x8ett\xdf\xcb\x1e\xafA\x82s\xc0\x98I\xf4\xab%?J\x11|@\x9c0\xe9\b\xc8e\xb2\x8f\xd7\x00\x85\xc0 W\b\x8f\xcf\xc8\xc8x\xa4\x92\x89O4\xd5\xda\n\xfe\xce\xfbn\xf2\x91'o>AW\xd5\xd4*\xa7}|\xc1\xb7eߐƧ\xd9~D\x86\xbc\xdbѦC\xb8\xd94\x03\\\x88\xf2J#\xebj\x1eݶ\xff/:\xe3Ǖ4hܗ\xf4\xd1\xe0(0\x9b撎\xaa\x9dLK\x9c\xf9BHdoߤQ\xef\xa7n\xda\xf4\x98A\x05\x91\xa75a\xea\x05\x02\xd1p\x97\xe76@\x96\x92?\xd3\bi\x02Գg\xbfت_\\\a\xb6Ҏ!]}\x16\xf2J y\x8d٤\xe3\xa5\x1e/u\x1e_\xbd\xe5\x0f\xfa\xf7\xa93RK\x1e\x01`\xb7=̓\x83\xa6\xf3\x8e\xe7\x9fݺu\xebU\xc813Cs\xb03\xe0\U000f4b4bZ\xa8\xe8\x03\xe3\t\xe4U\xe9\xfc!\x93*DQ>W\x9f\xb5H#\xfd\x11\x8d\xfa\x11oܸ\x01\xed\xa0Z\xf3$\xfd\xefx\xa3\xe0\\\xd1l\xba\xef\xe8q\xfa\xfd/\x1b耯f\xd0\xffE\r\xa6\xa4g@\x11\xd3\x12\xff&]\xbd\x96\x12\xcf\xe0\xc1\x1f\xb31\xd9#N\xfdA\xb3\xf0\xfe\x01ģ\xd7\x04F\x9c\xabI'U\x06\xd3:\xf3A\xebt\x1f>\x96\x8e\x9a\xb3\x80.۰\x99\xee\xf9\xfb\bͺ\x9aKKtw\xf0\b\xa8\xa1\xd0\xf6$\x8d\xc9\x1c&C\xa1r\x10\x93\xf7\xae^\xbd\n]6\xec\xcd\xd0>\x1d\x14\xe4yO\xfc\x9fBЎ\xba\x8aUv\xe4U\xc4\x19&\x0f\xdd\xef$in\x82\xfe\x993g\x1e\xe7\x84\x18\xc0d*\xb7:\x9c\x97\xfd\x88\xe0\v?\x9du\xa9\"I\xdfc\xc4\xf8\xf2$}g\xaf\x1c\xe2\xe4\xf1\a\xe9\x198\xa3i\xef\xfe!\xaa\xa4Q-\xe6\xaeZ\xf5\xa8\xc1?1T\xd7\x14\x83k\x10\bD\r\xab\x9d\xb6\xb2Ϧ\x85\tS-\x90Ր\xa93^\xeb\x143\xe43\x12\x10\x1eA\xba\xf9M#\x1d\xdd7\x90\xce\x1elj\xab\u007f\u1cfd\xfbQՈqT\xcd4\x82ſn\xa4\u007f\xfeu\x98\x9e\xbd\x94C\x8bJ4ʜ\xc1\xcb<\xb1~\r\x93d&\x03\x98t\xd3j\xb5\xef\x14\x14\x14<]٤\xa7\xc8\xf54\xe8\a\xad*\x99\n\xc9\xfe\xb0\xadCU$Iy\xb5\xe0ϷU\xe7\xf3\"\x15\xbd\x11+L\xe3ƾ\u007f.?\xff\tv\xbd>\xe0\x91\xa6P\xc6\xed7\xb1\xfb\x85V\xaf\xa7\xe7s\xae\xd0-\xe9\a\xe8\xf4\xd4\x15R\xb1\xefg\xd8\xf8 \xdd|\xaf\x93\x8e\xaat\xe2\xe23\x8f\xf8\xf7\xe9\xe7:8\xe9Ӊ\xf3\xe6=ol\\\xde\xd1\x0f\x11\x81@ \xea\x8a\xd6)\x93\xa6\xe0\xe34J:\xe9\xe9\xe9\x0fEOLn\xd2*2\xae\x03\xf1\r\xedC\xba\xf9|ň\xf3\x17&L\xf3\xf4\xbbF\x02\xfa\x94}>8I\n\xcb\xfff\xd9\n\xfa\xcb\xf6\x1d\xf4\xe0\x89\x93R1\x04E\xa4-\x04\xbads\x02]\xcb#n\a\xf3\b\xc7\xf7\x8b)}1--\xed\x01\v&};\x03\xbeP{\xe1\xfd\xbb̺B\x83\xe5O\r\x94\x94\xb3$\xe5\xe3w\x81l\xebJSm\x1b#\xfea\x93\xe6I\x9e\x8b\xf81\x8f~\x9e\xc9\xeb\x9a^\x90\t\x11ʸA\x8e.\x10\"\x04ք~1\x956\r\x97\x1a\x06\xdf`c\xe0\x10q\xf6\xfe\x01\xfc\x88\x1fE\xc6~\x9e0}\xfaKF\xcf\a\xd3\x10很H\x8a\b\x04\xe2>S6ն\xaa\xd4T;9\x87\x8c\xfb9\xed*\x99\x94\xedc\xa6L\xf9\xe7\xa7\x03\x06\xb5z\xa2W_?\xe2\xd9k$q\xf1]B\x9cfHǧ{E\x84\x13U\xd0D\xd2\xd5\xebG\xd2Q\xb5\x9b\x91\xe89\xe2\x16P\xe8\xd8+R\xca\u007f\x8b\xf9j\x86\xd4!e\xc5\xef[\xe9\xceC\u007f\xd3S\x17\xb3\xe9\xf5\xc2\"e$\x8dL\xa2'\x99\xfc\xc9\xe4'\x1eH\x14\x0ffO\x88\xc4\xd5h4\xff\xbdz\xf5\xea\v\x95\x11)T\xc6ṍ\x96\xe6Fʄ:\x9co\xa7Ɗ\x98\x1bh\xf7$\x92\xa1\xc9\xc5Kʚ5\x0f\xe5\xe7\xe77\x81s\xc2\x03\xad\xa6\xf1\xf2m\xa7x\x14\xb3\x04(D\x01A5\x90\x8b8q\xe1\x0fR\xc3\xe0F\xc1\x91`2\xbdF:\xa9\x0e0B\xfc\x81\xf8\x87\x0e\xfdx@\xbcsԤi\xaf\x1a\xd5Hя\x88@ \x10FUP\xc9\xdf)ջ\xbc]\xda\xcb$V\xa6\xa5=\xde\u007f\xc2W\xffq\x1a\x94\xd8\xfe\x99^Q\xbd\x88*p$\xe9⹀tt\xdf\xccH\xf4\bq\xf1\xb9B\xbcC\xb4PQ\xc5S=\x9e\xc63-\xf4\x9b\xd4\x15\x12\x89\xee8\xf87ͼp\x91\xe6\xde(P\x9ar)\xef\xf2p\x85w\xf4\x80j-\xaby+\xb2QL\"\x98\xf80y\x9b\u05ff\xb547R\"Ȳ\xb2\xb2\xdd\x02\x91ٙ0\xf9VU\xcc\x0e^\xbax\xf1\xe2S\xb00\xe0\x9aa\f7\x95n\xe4\xd1\xc8\x15\x1d\xbf\xe1<]\xb8|U:w\xdf\xff\xb2\x9ei\xf5\xb3\xe9\xe7\x10e\xea\x13\xaa']\xbc.\xb1\U000fe0dd\xf3\xd9\xc4/\xbc\u007f\xa7A\x89\x9f\xf1\xfe\x88vF\xaew\x85o\x1b\xb5C\x04\x02\x81\xa8\x9a\x1ad\xa3R\xa5څ\x85\xa5Hy\x9dMo\xfb=m+\xff)m46\xe5\xfb\u007f\xa8\x86\xa9\xdfy#\xb4\u007fW\xe2\x15ڇ\xb8\xfa\x8de\x93\xf9B\xd2Y\xb5Y\xf2\x83\xba\xf8\xe4\x10\xcf\xe0[υDӎqI4l\xc2T)\x12w\xee\xcfk\xe9\xdam\u007fJ\xda豳\xe7%\x9f(\x04\x15\xe9+7\x9d\x9aUY\x87\x11\xa4\xae\xb4\xb4\xf4c\xbe\xab5K\x10L+\x83vi\xeco\x9b\xf0\x9cC\x88\x1c\x8e\xe5\x81P\xabx1\x88,\xb9\xfd\x93d*\xd5h\xa5Z\xa6\xbb\x0fg\xd0e\x1b7\xd3\xd1s\x17R\x8f\x11\xe3\xe8s\xbd\xa3\xa1|\xdb\r\xd2\xd9\xf3\xa8\xd4\x1b\xd1\xcd\u007f\x82\x9d\u007f\x1f\u007f\x97!I\xef'\xa7\xa6>cb/\xec`\xf1\x83\xf9\x88\b\x04\x02q\xcf\xc8Se'\xe7wJ\xbe\xcf۵km\xcd\xdb\x04\xb5\x1f\x9a\x9c\xfcL\xf7\xa1\xea7[D\fl\xf70\xf8B\xbdB\xe2\xd9ğL\x9c\xbd\x963\x12\xddN\x9c<\x8fH\xbd\x01\xdd\x03\x8bH@\x1fڲ_<\r\x1c3I\xd2J\xd3v\xef\xe5|Wfiʇ\x86kg'x\xb3\xec=<\xc0\xe5\x17^Af>\x0fD\x9a\x02u\\\xc1$\xcbM\xc1\xb1\xbc\x00}\x147}F\xf2B\r\x03x\xd0R\x12\x93\xf1\x9c\xfc\x16p\xedw;\xafH\x93\xc5\xcd\xc2e\xa2Vx\xf9\xdau\xa9\x18\x04\xa4Z\xcca\v\x83\xa13f\xd3\xee\t\xa3\xe8\x03\xbd\"˃i\x9c<\x8f32\xdcD\xdc\x02\xa6\x13\xff\xb0\xc8\xf7#\av\bR\x8f\u007f\xa5\x12\xf3\xb0\xed]uM\xb1r\r\x02\x81@\xd4\x19\xdc\xed\xff\x14}\xa0\x16L\xda@\x06\x93S\x96<\r>\xd1N\x83\x87~\xfcY\xcc0\x0f\xe2\x15܇t\xf7\x1f\x9fs\xf5j\x01gI\xb3\x8a\x99\x83\xf6(U\x8egĴt\xfdot\xc7\xc1\xc3R\xb5\x98#\xa7\xcfJ\xe9/\x90?z\xad\xa0H\xf2\xefA\x11\x06\xe8LQ\xaa\xb7\xac\x04l)#l\x88 \x85m\x00\x01\x9e\xbc\x98%\xfdǦ]{\xe9\xe2_7I\r\xba!r\xb8\xebБ\xe5Z\xa1{\xd0M\xe2\xe4uA*C\b\v\x03\xf7\xc0I\xcf\xf6\x8a\b\xef8`H\xfb\xa8I\x93^\xcd\xcc\xcc4\x9e\x92\"\xd7\a\xbe\xbb\xa6)\x12\"\x02\x81@\xd4\v@$.\xd7H\xa5\xbe\u007f\xea\xf2\xfe\u007f\xd2\xc4ob\xb2g|\xd4NP#\xf5f\x10\xa4\xe4\xb3\xd4\xeb\xf5W\x02F\x8e\xff\x99\xbc\xdb\xf1O\xa6\xa1\x1d`\xe4t\x82ta$\xd5\xcd\xe7\xaad\xc6\xf4\f.!>a\xa5\x8d\x98&\xd74|\x00m\x1e\x11K?\x8a\x19J\x9d\xe2GP\xe7!j\xea\xc2ȭ{\xc2h\xea\x9a8\x86\xc9hI\xeb\xeb:TM\xbb\f\x19A?\x1d\x98@\x9b\xf7\x8d\xa5\x10\x05L|Bu\x92\xf6\v\xad\x9e:\xa92\xd9\xff\xecf\x8fkIW\xefٌ\x18G<\x1e\x14\x19ܡ\xff\xb0ϣ\xc7M~\x13\xea\xf6Vr\x92l\x9b\xabT\x8e\xe8?D \x10\b\xc4\x1d\x1a\xa9\\\xb2/,%\xc5!99\x19\xb4*\a\xf5\xbcy\x0f\x94\xea\xf5\xc7,H\xfb\xa8\b\xea\xb9UZ\xdaF Z\xbb\xf4\xec\xec\x87椮\u007fR=m\xee\v\xd1\x13'6\xf1N\x1aռ[\\\xc2{m\xfbǷ\xf9oߘ\xcf\xde\xeaӿ\xeb\xb3A\x11n\xc4?ԋ\x89?\xf1\v\xefE\xfc\xc2z\x13\xdf\xd0PI\xfc\xc3C\x88\u007f\x9f \x12\x10\xe6\xf3X`T\xcffa\x03\x9c?\x8c\x1aԶǐ\xa4\x16\xa1\xeaq\xff\x86\xe4{\xe3\xfd\x0f\xef\x82T\xb2\r\xfc\xbe\xb2\xef\x10s\x10\x11\b\x04\x02a\x16\x84\xc6\xca}, H\xbd@\x92\xe1\xe2vj\t\xe5&\xd2\x16\xe5\xfeB9\xf7\x10\xfd\x86\b\x04\x02\x81\xa8\x0eA\xca\xd5u\x1e\x13\x12\xe6u\x16\xe4C~-\x13djjjy\x83^\xd9g\xaa\x14ه*\x8a\xec\xfb3%\xca߈\xdb\x04\x02D\u007f!\x02\x81@ j\x88$\x1d\xf9\xe3L\v\xdaa\xc9\x04\xb9FI\xb6\b\x04\x02\x81@\xd4\x17\x82l\xc4\x1f?\xb5 7Rn\xa2\xbcO\xe8\x14\x82\xfe=\x04\x02\x81@\xd4+\x82\x94\t\x0e*\xd8\x1c1S\x8b\x94\x93\xf2\xa1\xf1\xf4\x13\xfc\xf7\x0ex6\x11\b\x04\x02Q\xdfHR\x0e֙\xa6\xd0\x10+\xd3 \xa1\xc5\xd7K\xfc\xb7\x8ex&\x11\b\x04\x02Q\xdf\bR\xf6C\xf64\xb3\x15\x96샄\xe2\xe9\xaf#A\"\x10\b\x04\xa2\xbe\x13dS\xa1ۅ\xce\f\r2\x9fɛ\xfc\xb7\x8d\xf0L\"\x10\b\x04\xa2\xbe\x12\xe4\x03L\x8e\x99ᇔ}\x90yL\x9a\xa1\x06\x89@ \x10\x88\xfaJ\x90\xf6\xc2\xf3\xcdf\x14\r\x905\xc8K\xd0e\x03\t\x12\x81@ \x10\xf5\x95 \xed\x84\xe7\xcb, \xc8L&/\xf0ߡ\x89\x15\x81@ \x10\xf5\x8e \x1d\x84\xe7\v+!H\xbd\xf0\xd9.&\x8dQ\x83D \x10\bD}%\xc8F\xc2\xf3\xa5\x82\x0f\xb2\xccH\xb1r\xb9\x16\xebJ\xca\xeb\x9d\"A\"\x10\b\x04\xa2>\x12\xe4\x032Q2\xd9$h\x90\x86\bR\fޙjH\vE \x10\b\x04\xa2>\x90\xa3\xadP(\x00\xd2<\x8eVbb\x15\xdf\xef#l\aK\xcd!\x10\b\x04\xa2ސ\xa3\x8d\xc2\xff\xe8!\xe4A\x96T\xe2\u007f\x84\x14\x8fO\xf9\xef\xec\xb1X9\x02\x81@ \xea\x13A:\n-\xaf\x1ed2ˈ\xa6(\x9aW\xe5\x02\x02;\x98\xb7\xe3i\x13\x8e2\x91\xd6\xd2~\xda\xf1}p4\xf0\xd9'L~P\xa4sh9I\x8a\xd0)̫\t\xc26\xd0\xff\x88@ \x10\x88\xbb52\xfe\xbc\x19\x93uLR\x98\xb8\xf3t\t\x1b#\xbfs\xe0\xa4\xe2P\x13ڦ`B\x95\xff\xc7\xce\xc0w\xfe\xcdd \x93\xbd\x06\x8a\x00\xe8+\xf1=\x1e`\xf2\x9eH\xc08\x1a\x10\b\x04\x02q\a\xd1\t\xcf}\x98\xdcT\x90\n\xbc\xde\xcfd\x0e\xe4\v2i\xc9\xe4\tsH׀\xd8\x19\x11C\xdf3F\xcc\x0f1i\xc5d\x18\x934\xa1#\x87\xe8_,3\xe2{\x14ͫj\xd4\x1e\x11\b\x04\x02aJKs\x14^\xcf\x14\b\xa4\x98\a\xb9\x18맘\xc3\xe4ON\x9c1L\x9c\xb8\x1f\xf01+\xef#\x10\xe2\xebL\xba2I\xe4A8g\x8d\xa4n\x18#G\x9d\x82\x1c\xb7A@\x8fH\x908\x1a\x10\b\x04\x02!\x92\x8f\x9d`^\x05s\xe5_\x02\xa1\x94*\x82[J9\xc9h+iB\f߽\xc2\xe40\x93\xf5L\xe61\x99\xc0d\x10\x93`\x9e\xc4\x0fdב\xc9gL>gҙ\xa7g\x80\x06\xdb\x17|\x83L\x92\x99,g\xb2\x9bI\x96\x89\xff,5\xb2Oe£\x18͚\xcb$L8\a\xf6h^E \x10\b\x84\x92 E\xf3\xaa\x9f\xe0\xa33\xa6\x89)\t\xa8\x8c\x9b.uB\xf1o\x1d\xadY\x88\xff\xa5\x17\xf6\xc3\x18\x94\xe49\x9dɓ\x82\x06\x8d\xa9\x1d\b\x04\x02\x81\xb8\x8b \x1d\x05\xa2\xa8\xac\xfaLU\xa0\x174<\x8d Z\x81Lu\x02\xc9\xea\x8c|_c\"\xf0\xc6\x14\x81+5\xe15L\xfe\xa7<~\x04\x02\x81@ Dr\xb4\x93M\x8b\xdcwxȈy\xf5^\xa1\xcc\f\xad\xd5\x12bV\xa6y\xec\x04s\xae\xa8=\xa3\xf6\x88@ \x10\bC\x04)\xf6N\f\x14HQcE\xa2\xaa\r\xe8\xb9\xcfQ<\x86}Lz\n\xc7k\xc3\t\x12#W\x11\b\x04\x02a\x98 \xb9&9\xc7H\x9f\xc4\xfb\x95\x1cE@\xa4\xad\xbb\x82\x1c\xed\x91\x1c\x11\b\x04\x02a\x88\x1cm\x05\xf3js&\u007f\v\x11\xa1\xba\xfb\x90\x18\xcb\f\xa4r\x00\xd6B\x84\xac\xe2\xd8\xd1\xef\x88@ \x10\b\xa3\x04)\xe6>\x06\v\xe6Ւ\xfb̼\xaa\x17\x02~D\\g2\x83\xc9;J\xad\x19\xfb=\"\x10\b\x04\xc2\x189\xda\b\xe6U\a\x9e\xa7h\xed\xe8\xd5{\xa11j\x8d\x10\xfa\x1e&QL\x9eV\x1c\xb3\x03\x92#\x02\x81@ L\x11\xa4h^\x85\xf6PG\xee3\xf3j)'Fe\xca\xc7)\xe8\xedȤ\xb5\xe2x\xeblg\x12\x04\x02\x81@\xd4-\x82\xb4\x13\x9e\x87\nDSRG5\xc52!\x9f\xd2P\xfa\xc9\x19^\\\x1dJ\xdd=\xac8VG\xd4\x1a\x11\b\x04\x02a\xb6\x06\xc9\x1f\x1ff\xb2@\xf0\xe5ݬ\x03\xfe\xc72E\xb1\x00c\xc5\x01\xcaxY\xbcIL\xda\x1b F\a,@\x8e@ \x10\bK\t҆?>\xc1\x93\xe7\r\x05\xbeh\xb8F\xa9\xb5\xb0zMU\xc9P\xfe?\x8d\t3/\xecG&\xef\xfb\x18\x06\xc5\r\f\x91?\x16\x00@ \x10\b\x845Ȳ\x11/R\xee\xc6\xe4\x1b&\xe9\x06\xda]\x89\xbe?e\xe97\x9dB\xebT\xd6g5T:\xaeĂ\xd2q\x97\x99\xfc\xc1#R\x83\xb9\xcf\xd4\xc1\xc0qT\xf8\x19QkD \x10\b\x84մI\x03\xef7\xe1\xa49\x8ew\xe48W\x83\x9a\xa4L\xbe9\x9c\xa0\u007fd2\x96I\x00\xef=\xf9\x8c\x91}\xb47\xd6H\x19\x81@ \x10\b\xab\x11%7M62f\x9ed\xef?¤\x19\x13\x17&\xb1\\\xab[\xc3\xd3* \x824_(<\xae\xe5\x9a(\xb4\x96:\xcf#e\x81\xfc\xb60\xf9\x99\xc9\\&_\xf0>\x92\x9eL>\xe1\x9ale\x8d\x98\xed\xf9>\"1\"\x10\x88\x06\x8b\xff\a1kM5\x1e\t\xceM\x00\x00\x00\x00IEND\xaeB`\x82"), -} -var resourceFynescenelightPng = &fyne.StaticResource{ - StaticName: "fyne_scene_light.png", - StaticContent: []byte("\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x01\xc9\x00\x00\x01O\b\x06\x00\x00\x00&\xd65\xb4\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\x96eXIfMM\x00*\x00\x00\x00\b\x00\x05\x01\x12\x00\x03\x00\x00\x00\x01\x00\x01\x00\x00\x01\x1a\x00\x05\x00\x00\x00\x01\x00\x00\x00J\x01\x1b\x00\x05\x00\x00\x00\x01\x00\x00\x00R\x011\x00\x02\x00\x00\x00\x11\x00\x00\x00Z\x87i\x00\x04\x00\x00\x00\x01\x00\x00\x00l\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x01\x00\x00\x00x\x00\x00\x00\x01www.inkscape.org\x00\x00\x00\x03\xa0\x01\x00\x03\x00\x00\x00\x01\x00\x01\x00\x00\xa0\x02\x00\x04\x00\x00\x00\x01\x00\x00\x01ɠ\x03\x00\x04\x00\x00\x00\x01\x00\x00\x01O\x00\x00\x00\x004\x1fw\x93\x00\x00\x00\tpHYs\x00\x00\x12t\x00\x00\x12t\x01\xdef\x1fx\x00\x00\x01\xcbiTXtXML:com.adobe.xmp\x00\x00\x00\x00\x00\n \n \n www.inkscape.org\n 1\n \n \n\n\x18\xcbUX\x00\x00\xa0VIDATx\xda\xec}\a\x98\x1cYy\xed(l\xd0*\xa7\xc9\xddU]U\x9d\xc3tO\xce\x1a\xad\xb2\xb4J+\x8dr\xce9\xac$\x96]\x82\xd7~~\x0e`?\f\xd8\xef\xa4\xf1u\x1a\xcfY\x89\xb0\x80\xa80\xb2 K\xc3\"\xb4\x8e$\x06}.e\xb1\x1a3\xc6\xe7\xb3\x05$\x995\xfe-m\x8c\x94\xf1\xfb\xe6\xb1\xe2\xc6H\x1a\xff\x9e\xb0\x90\xefقkd0\x18\f\x06\xa3d̂\x1b\xb5\x98\x95\xd5\xd8\xd8\xd8\x00W)\x8d\xd7\xd1\xf8<\x8dg\v-9\v\x19\xa6,\x84\x950\xfe?]\x84\xf0&sdL\x82\xa4\x9fOҹ\x85\x99 \x19\f\x06\x83Q\xb6\xd5\bW\xa9A\x8ey\xe0\xef\x88\\\xdai\xbc\x82Ƨ\x11\v,B\x88Y\xc3\xfa\xb3Z\x82\x99)&\xc3B+\xd3$\xe94\xacY\xfa\xf9Q\xfa\xb9\xc0\xb0~\xef\xab\x1a=~\xca`0\x18\f\xc6\x109Z\xad*\x90\x88$I+\x8dx\xe27@\x84\xa6\xdbԈ\x05\xa6,V\xe1H\xee\xd0\xdb=@\xd8\xe69\xff\xbe\x95\xf4\xf9\x963\x18\f\x06cTb\x84%e\xc4\x19\xf3 Bi!By\x15\x8do\x16\x10c\xd6\x12\u07fb\xd3Ȱ\xd8HX\\\xbe\x87,\x978\x9bo=\x83\xc1`0F\xc2LÝ\x9a\xb7\x1aeY^DDr\x8a\xc6gL\xcb\xcbB0f,13\r\x88qX\xfc\x91\xae\xe1\xfb }\\\xe3H\xf1U\x06\x83\xc1`0\x84\xe5h\xc4\xe1\xf2\xe4(I\x92\x9f\b\xf25\xa854㋖8^r\x1a\x11\xa3\xd5\x05,\xe2\x8f\xf4\xe7O\x80\xfcq\x9d\x85\xd7\xcd`0\x18\fF\x1e\x86\x15\x95OR!\"\xe9\xa7\xf1v\x10\x8bA(\xfam\xca:\x9d\xac\xf8\xe3k\v\xae\x9d\xc1`0\x18\x8c[0\xab\xca\xe2b$\xf2XC\xe3\xc3f\xac\xd1\xe2N\xcdLSb\xbc%\xfeH?\x8f\x9a\xd7[\x18oe0\x18\f\x06\x03\x98]eIP!\xe2\xe8%\x02\xf9\x98Y\xcbXA\xe4h\xad\u007f\xfc!]_\x9b\xc5z\xe4\xf8#\x83\xc1`0\x86a\x86U\x8f\x141G(\xe0X\xc81;I\xb1\xc6\xecm(\x01I[\xea\x1f?\x05MX\\sa)\v\x83\xc1`0\x18UV\xc98#[\xf5\xf7@Z\x069f\x8c\x98cv\x1c\x96Z\xba@\xea-/\x1fg\x91\x8eK\x8f!\x0fg\xca\xcd\xd9%0`\x8d?\xfe\xa19\a\x1c\u007fd0\x18\f\xc6-֣\x95\x1c\x88 \x0f\x13q\xfc\xa0 \xe68\x96\x15(\xf4Q\v\x04\x02\x86\t\x87[\x05Ë\x89\x91\x17\x1b\xa3\x88\x8c[\x89\xbb\\A\x02k\xfd㉂M\x02\x83\xc1`0\x18\xb7ZNDD*\x91\xc6G,D\x147\xc9n\x04bLY\x84\xbfo\xe9\xa2a|\xeei\"ݯ\xe2\xb8F\xeb\xa9W\xd1\xff?\x8a\x9aJ\xfa\xfc^\xfa\xf36tҠ\xff_K\xff\xbf\x1a\x89A\xf8\u007f\xfa\xfd\xed\xf4\xe7\x834\xce\xd3g~\rm\xb0\xe8\xcf\xef\xa6\xf19\xd4.\x1aVhQ\xadW\x8b\xb4]\xaa\xc0-\x9c\xb5\xc4\x1f\u007f\x8c\xb6W\x16r\xe4\xf8#\x83\xc1`0\x86`\x8d=\x12a\\\x06\xa9\x18\x04b\xba;\v5L\xcd\u007f\x8b\x1bV\xa3\x95\x10\xa1\xbb\xfa_ 2\x90\x1aH\x8eF\xc8\xe9t.\xb6\xfb\xbc\xeb\xeb\xeb\x1f\xa0\xe3* U\xfa\xaeK4\xfe\f\xe4\x89\xf6U\xd6s2H\xd3\xec\x1b\x19\ay\x1a\xd6\xf1g<\x1e\xcf2\x1c\x8b\xe3\x8f\f\x06\x83\xc1(\x84\xa9\x98\x83\xacU'\xb2V-\xae\xd5\xe4(I.\x89\x02\x999Xc\u007fgX{\xd11\xf4L\x11\xeb\x9c\r\xab\xcd\x1cUC\x19\xb4\xb3\x8a\x8c\xd9E>?k4B\xa3s\xa8\x85E\n\x92F\x99\x8a)pP\xe0\xaa\xfd\xdf\xe6\xe7Y\u007f\x95\xc1`0\x18\xc3`\x8d\xbb\xc1݉\x9e\x8d\x06\xe1\x15\x93\x8d˚V\xa5\xa5.\xf2y\x1a\u007f\x836W\xa65V\x80Y\x96f\xcaE{G\xda\x00ћ\x12D_\xac㈕4\xe9\xbc\x1f2\xdaq}\x93ƅb\xf3\xc0`0\x18\f\xc60ˉ\xc8\xe3\x8d\x05\xb1\xc7B\xcb\x11Ę2ݗ\x86+\xf5\x06\x9a#\x17Z\x88\x16R\xbc\x9dq\xbd\x19 >\xb8\x90G\xb0\x10gZ\t\x96\x9f\x06\x06\x83\xc1`\xe4\tČ?½J\x16\xd6\x17\r\xab\xb00\xf6\x98\xef\xd4a\xa9\x8bD'\x8fcU\xc3;_̴\xb8K\xef\xd4x\xdeL\x8b\x9b\xd6$\xc8YU\xdc\xff\x91\xc1`0\x18\x05\x16\x94\xb0\x9c\fI\xb9g\r\xf2\x8b\x17)\x95\xb0\x16\xd7#+\xf5\xb2\x95T,\xfa\xad\xd3-\xd1eF\x15'\xe70\x18\f\x06\xa3\x00V\xcdՋf\xcd\xe2\b\xeeդ\xc5z\xfc\v\x1a5\xe6\xefr\a\f\x06\x83\xc1`T\x14\xac\xc9,D~\u007f`\xa9[L\x16q\xaf\x9a\xb5\x83\xcf\xd1\x18, G\x8e\xdf1\x18\f\x06\xa3r`M\\\x81\xee\xaa\xe1>M\x15\x11\x06\xb0\x12\xe4\xbf!^iZ\xa0\x9c\xfd\xc9`0\x18\x8c\x8a\xb5 A\x94D|\x9f4\b2Q$\xfe(\x84ʍ^\x90\xef*F\xb0\f\x06\x83\xc1`T\x9c\x05I?\xe7\x11\xf1\x99\x19\xac\xf1\x11$\xe5\x04Aʲ\xfcf&H\x06\x83\xc1`T4\xcc\x12\x0ft\xef\x80V\xaa\xe1B\xbd9\x92\xc0\xb7Q\xfb\xf8\u007f\n-P\x06\x83\xc1`0*҂4\xda[}\xa3\x14\x82\xa4\x9f\xef1\u007f\x9f\xe3\x8f\f\x06\x83\xc1\xa8HXb\x90\xf3,\x16d|\f\x82\xfcJ\xd5\xf0\x02{\x06\x83\xc1`0*\v\xa6\x05\x88\x9fD|\x9f\x1f\x83 SF\x8d\xe4\x8b\xe8\xa0a%X\x06\x83\xc1`0*\x92 \x01t\xf1\x18\x83 \x85P\xb9\xf1\x99\x03\xf8\x1dk\x9b,\x06\x83\xc1`0*\tyi8\xb2\x0e\xffz\x94,ּ\x80\x80A\x90\xef0~\xffN\xd6\\e0\x18\f\x06cB\x98mX\x90\xaf\x1a\xa5\x0e\xd2\x1c\x19\xc3\xcd\xfa\xac$Iu\xf8=v\xb32\x18\f\x06\xa3\"af\xb2\x12\xe9\x9d2\xac\xc3\xf4(\x04\xa9[\x04\x03\xaeZ\u007f\x9f\xc1`0\x18\x8c\x8a\x82\xa5\x16r\x85a\x1d\xeaE\x1a%\xdf\"Z\x8e\xb2\x90*n\x11\xc5`0\x18\x8cJ\x85\xe9\"u8\x1c\xf5hce\x90_r\x14\x82\x84u\x99\x82\xb5I\xa4\xba\x1b\xbf\xcb\xf5\x90\f\x06\x83\xc1\xa8D\xe4\xad@\"\xbe\xff;F&kaM\xe4\x17\x8a\x1d\x87\xc1`0\x18\x8cJ\x81\xb0\x00\xc9z|M\t\x99\xac\xc3J>\xe8w\xf6[-Q\x06\x83\xc1`0*\x06f\xa2\r\x11\xde\xf6\x12\x13u@\x8c\xa6p\xc07,\xe4\xc8\xca:\f\x06\x83\xc1\xa8\x1c\x981D\x94n\x10\xe1\xfd\xd2 \xbe\xf4\x18V\xa4n\x11\x0e\xb8\x86\xdfg\xe1\x00\x06\x83\xc1`T\x1a\xf2\x82\x01Dv\x1f6H/Q\x02Af\r2\xfd\x05\x91\xe3r\xe3X\x9c\xb0\xc3`0\x18\x8cʁ\xa5\x1e\xf2\xa2A\x90\xa9\xb1ܬ\x05\xea:\u007f\x82\xdf\xe7X$\x83\xc1`0*\n\xa6\x9b\x95\xc8NC\x92\x8ea\x19\xa6J ȼ\xc2\x0e\xfdn7[\x91\f\x06\x83\xc1\xa8D\x14\xbaYo\x96H\x90I#\xa3\xf5\x8b<\x85\f\x06\x83\xc1\xa88\x98\xeeQ\"\xba\xa3F\xb9G\xb2D\x82\x14\xa5!\xc6\xef\xdc`+\x92\xc1`0\x18\x95\x06Q\xa6\xd1\xd8ظĢ\xaa\x93)\x91 ͬW\xb8e\xbd\xd6\xe31\x18\f\x06\x83Q1V$\x91\xdc\x1f\x1bnֲ\xacH\xc3\xd5\xfa\t\xcb!Ya\x87\xc1`0\x18\xd3\x1ff6\xab,˝\xd6$\x9c\x12\t2\xaf\xd3jv\xfb\xe0\xacV\x06\x83\xc1`T\n\xf2\x16\x1f,\xc12j\"\v]\xadI\xa7\xd3\x19`\x92d0\x18\fF\xc5\xc0,\xf9 \x82\xdca\x91\x9e˔A\x92)\xe3\xf7\xfe\xa5\x18\xf12\x18\f\x06\x831]1\xc3$5Y\x96\xbf:\x0e+Rh\xb5\x1a\xbf\xf7\x9b8\x107Vf0\x18\fFE\xc0\x92\xacs\xd2(\xdf(\x8b M\x15\x1e#\x13\xb6\x9fI\x92\xc1`0\x18\x15eE\x82(\x89\xe0\xbeS\x86\x80\xf9-\n;\xf4\xf3\xa9\xc6\xc6\xc69\xa6U\xcaS\xcb`0\x18\x8ci\r\xb3;G\x81>\xab^\xe60]\xad\u007f\x83c\x99\xf1M\x06\x83\xc1`0\xa63f\x99DI\x04\xf7\xedqZ\x91VA\xf3\x93\xa6U\xcaS\xcb`0\x18\x8ci\rK]\xe4\xe9R\x9b)\x8f\x14\x8fĐ$\xc9o%_\x06\x83\xc1`0\xa6\xb5\x15I\x98I\x04\xf7\x95q\xa8\xeb\xe4]\xad\x86\x05\xfa\x8d*\x8eC2\x18\f\x06\xa3\x12`\xa9\x8b|x\x02Vd^М\xac\xd17\xb3\x15\xc9`0\x18\x8c\x8a\x02\x91\xdc\xc7\f\x92\x8c\x8f\x83 \xad\xf1\xc8\xe3\xc6!9i\x87\xc1`0\x18\xd3\x1a\xc2\xda#\xeb\xaf\xc3p\x95f\xc7iEZ\x93|\x9aؒd0\x18\fƴ\x87E<\xe0O\xc7)\x1e\x90\xb7\"\r\x92\xfd\uf69a\x9a\xb9\xc6\xe19.\xc9`0\x18\x8ci\x8b\x99\x06A\xd6\xd0x\xb60C\xb5\xdcx\xa4\xd1\xf5\xe3]\x96\xe3\xcf\xe0)f0\x18\fƴ\x84)\x1e \xcb\xf2\x95\t\x88\a\x98\xc4j\xc6#_\x81c\xb2\x88\x00\x83\xc1`0\xa6\xbd\x15iX\x92\x9f\x9f\x80x\x80\xd9g2\x8bc\xd0\u0604c\xb2\x88\x00\x83\xc1`0\xa6-L\xf1\x00\xb2\xfez\xc6\xd1T\xf9\x96\xa4\x1d\x83d\x9fw:\x9d\n\x93$\x83\xc1`0\xa63f\x98\xeeP\"\xb6\xd7N@<\xa0PD\xe0߫\x862Z9\xb3\x95\xc1`0\x18\xd3\x12\xb3\fkr\x1e\xb2Q\r\x82\x9b\x10I\x1aD\xfb\x0e\xcb\xf19i\x87\xc1`0\xa6\xbbEu7.\xe6\x16\x85\x9dM\x06Af&\xe0j\x15\xeeVk\xd2\x0e\xf7\x8fd0\x18\x8c鏙#\xfc\xf9\xae\xb9vKmd|\x02\x04\x995\x93vdYފ\xe3\x9aY\xb3\f\x06\x83\xc1\x98\x9e\x985\x82Uy\xb7X\xcfU^\xafw>\x91\xdb\x0f\fK25A\x924ݵ^\x1c\x9b\x93v\x18\f\x06c\x9aº\x80\xab\xaa\xfa!\"\x89\xaf\x91\xe5\xd3x\x17Y\x94b\x83 I\xd2\x06\xa3\xf8\u007f\"\x04)\\\xb5\x06\xd1~\xb7\xb1\xb1q\xce]j\x993\x18\fFe\x11$-\xec\x1f\xc1\"\x0fw#\xfdy\xd5(\x16fE\xc1\x12\x8f|\xe3\x04e\xe8\n㑟d\x82d0\x18\x8c\n HZ\xd0?\n\xeb\xc7\xe7\xf3\xdd4\xac\xa0\xbe\xbb\x84$M\x97\xf2l\xba\xe6oOP@`X\xe7\x0fY\x96\xdfP8\xcf\f\x06\x83\xc1\x98~\x16\xe4\xc7\x1a\x1b\x1b\xf5\x9e\x9e\x9e\x9b\xfd\xfd\xfdY\xfc\xd9\xedv\xf7\xdf\r$i\u0383$I]\x96\x8e\x1f\xba\x1d$I?/\xe0\u061c\xd9\xca`0\x18Ә \x1d\x0e\x87\xde\xd9\xd9ys˖-پ\xbe\xbe\xcc\xddD\x92f\xd6)\xcd\xc3\x13\x13\xd4j\xbdEm\x87\xc6j\x1c\x9b5[\x19\f\x06c\x1a\x12$\x91\x82I\x90\xf1\x87\x1ezH\u07fcys\xb6\xb7\xb77\x83\xbf\xbbKH2_\x13J\xc4\xf6)\x83$'\xeaj5-є)GW\xc51I\x06\x83\xc1\x98\x9e\x04\xd9\xd1ё r\xd47nܘ'ɻŒ4\xe7\x83\xe6\xc2A\xa4\xf6+\x8b\x88\xc0\x84\xadH\xfa\xf9\xbd\xfa\xfa\xfa\a,d\xcc`0\x18\x8c\xe9@\x90\xb4\x88\u007fܴ A\x90\x9b6m\xba+I\xd2t\xb5\x12\xa1\xed\xb4\xc4#'\x1a\x93L\x18\x16駙 \x19\f\x06cz\x11\xe4\fZ\xc0M\x82\xbci\x12\xa49\xee2\x92,&hnG<2n\x94\x91\xbc\xa5\xd27\x19\f\x06\x83Qi\x04\xf9\t\x10dWWW\xbc\x90 \xefBK2\u007f]Dh\xffjC\u05cfB\x92|\xb9qxN\xdaa0\x18\x8c;\x9c \xabL\x82$\v2QH\x90w#I\x9aV\xa4L B{\xce\x06)\xbaa\xdd?\xe8x{ْd0\x18\x8ciD\x90\xc5,H&Iy\xabaEflH\xda\x11\xbf\x0f¥cv3I2\x18\fƝM\x903,\x16\xe4͑\b\xf2nv\xb7\x12\xa9\xfdO\x9b\xa4\xe8\x84\xe6\xaba\x91\xbe\x00\vu\xba\xcf\xdf\xe0\xe0\xe0,\xa0+\x9afO\xa2\x0e\x1dGZ\xb6X\x0f\xacxP\xef\u007f\xe4q\xe3\xbb\xc6>\x9f\xfe\xab\x8f\xeb\xbd\x17o\xe8ч\xf7d%\"\x9d\xfa\xfbf<\xe7T\xb4\xdf)\xe7F\xd5{\x83=\x8e\xda\xea/6̙\xa5\xfbV\xac\xcav\x9e\xbcH\xc7~\xdc\xc69\xa3A\xf7\x1bD\t\xab\xd2\xe3\xf3\x95M\x92p\xb1\x86B\xa18\x13$\x83\xc1\xb0ݚS\xbc\x8132Y=J}\x8d\xaex|\xffk\xaa\x88R\x96\xe5\xfb\xc5\xf7\xb7\xb4,Td\xf9\xfbJc\xbd\xdeq\xe8Tj\x05\x91@\xef\x85\xebz\x1f-\xee\xd3o\\\xd7\xfb\x89(\x83\x0f\xae՝Dj\x8aj\x1fI:\x97,\xd0\xc3\xeb6\x89\xe3\xe3{J=\xa7\xfeˏ\xea\x98\xd3\xeeS\x97\xb2\xa1U\xebte\xd9\"]nl\xf8\x85'\x18\x8e\xfd1OK\xae\v\x86\x15Z(tPj\xa8\xff\xb9\xabz\xa9\x1eZ\xb31\xd3s\xf6\x91\x04\xacR\x1c\xcf\xf6\xfb\x83\xe3\x91E\t\xd70b\xd1\xe5\x90$>g%H\xb6 \x19\fƄ`Z\tچ\r\xf7)\x1e\xcf\xfb\xe5\x85\xf7Å\x97\xa2\xdd|\xba\xef\xf2\xa3\xd9\xe0\xca5)y\xd1\x03\xba\xea\xf7\xff\xc9$Z\x94\xf9\x98\xa7\xea\xf1\xbe\x1b\xe7\x10{xw|\x05\x16\xe1\xe9L\x908w\xb2\xdaz\xcf_\xd3\xdd\xd1\x16]n\xa8\xb7/&Id\xeb\\\xbaPo\xd9}P\x1f\xf7F\xc2\xf8\x1d\xcc3\x9dc\xbaiӶ\x94\xe2h\x14n\\\xc5\x17x\xe2\tlXZz\x9d\x8a\xa2~@^4W\a\x91\x12\xa1&\xfb\xaf>\x96\xe9\xbf\xfc\xd2ɻ7&I\x0e\xee+˒4\bҌA~\x8d-H\x06\x83a\x8b\x05\xe9\x8a\xc5$Z\x80\xbe\x062\x8clږ\x009bq7\x16-\xb8\xe4\x92 .\xd5\xe3{\x8b\xc5?k\x97E\x99O\f\"\x8b\xf5\r\xf2\x82\xfb\xf4\xc8ƭd\xa5<6\xed\xad\xc7>\xc3Z\xeb>}\x99\xacq\x9f.;\x1d\xf6\x15ɣ\x83Em\xb5\xde~\xe8d\x8e\xe4&@X\xbd\x06\x99\xe38\x9d\xc7\xce&a\xf5\xe2~\xbbd\xf9\xffɵ\xd5?Q\xea\xaa\xe9\x9elK\xf6\x9c\xbf\x96\x01!\xe7ݢ\x93\xb9\xb9\x10$\xb9\xb7d\x92d\x17+\x83\xc1\xb0\xd5r3c\x90\x9eH\xa4Ov4\xfe\xd2E\vnˮ\x037\xf3\xe4d.\x84 K\"\xcd\xd0ڍ\t\x10\x18-\xf6o\x1d\xe2ɉ\x13\xa5\xe9fU\xfd\xa1\x97ɋ\xe7\xe9\xb0\\\xf3\x04=\xcdݬ¥I\xf3I\xc4C\x04\xe9\x04\xe9\xd8D\x92J\xeeX\xb2\xa4w\x9d8/\xbec\xc2.O\xd3\x05\x9b\xbb\xff\x99\xe6]\xfb\x13\xaa\xa6鞖6\xbd\xf3\xe8\x998\xfe\x1e\xb1\xcc^\xc4>\xa7\xc2\x02/Ò,p\xb1\xb2\x05\xc9`0Əaک\xa1\xd01\xb2\x14t,\x86\xed\x87OŋZ\t\x16\xa2\f\xaf\xdb\x14\aQ\xaa^\xff\xdb\vIn\"\xae^5\x18>\"/_\xa2{;{2\xb4Pg\x84\x8b\xb2\x02\u2438\x06Xgm\a\x8e\xe7\xe2\x91vɭ\xd11`\x95\xaa\xfe\x80\xdes\xf6\x8a\x91\xb8sös6\xadJ\xb2\x80\x93\xbd篥\xa6\xc4z\x1c\x17I*L\x90\f\x06\xc3~\xf7\xaa \xa8@\xf0\xb7\x91\x1c\xe3\x8e6\xeb]\xa7.&G\x8dk\x19\vg?\x88r\xc3\xe6D\x8e(\xbd\xef\x9e\bQ\xe6c\xa1\xa1\xa6\xb5 j\x9cG\xef\xf9GRX\xf0+\x81 \xf3$I\xf3\xda<\xb8_d\xa2ڕ\xb4#H\xb2\xa1N\xf74\xb7\xe5\xb2~\xb1\x89\xb1s\xce\xcc,X\x90\xaf\xddǶ\x91$\xa5\x9c\x8b5\xd5\xdb\xd7\a\x82\xfc*\x13$\x83\xc1\x988A\"\x19\xc3\xe3\xf9;Ĝ\xfc}+ӈ3\xe5\xdcu\xd7KJ\xf2\xc0\u0089\x98\xa1p\xbd\xba=\x1f\x18\x0fQ\x9a\xe7\xe2mn\x8e\xc8\r\xf5I\"\\\xb2Z.%mq\x1b\xdei1I\xba\xa6\xa6-;t碹\xb6\xd5H\x82l\xa5\xeae\xba\xbfw\x85p\x81V\xcc|\x95A\x92\x88A\x86#\x91twO\x8f\xde\xd9\xd9\xf1YSIg\"\x9e\r\x06\x83q\x97\x13\xa4\xbf\xa5\xa5\x8e\xac\x90/\x81 \xc3\x1b\xb6đ\x94S\x96\xe5f%ʇ\xb6\xc7sD\xe9\xfeH9Di~\xc6\xdf\xd2W璤\x9f(N\abv\x89\x9c%{\xbd\xe2\x16|\xccUh\xcdFݹx>\x91\xa4\x1d\xfa\xadr\xbeF\x12\xc7\x151\xc4J\xdaX\x94@\x92\"I'\x12\xc9v\xb5\xb7\xa5\xdbZZtw0x\x04\xcfT$\x12\x99\xcbo;\x83\xc1(\a3MRrGZ:\\N\xc7\xcf\\5\xcb\xf4\xd8νqQ\x00>\x9e؟\x85(\x9b6\xef\xb8)\xb2 \xdd\xeeO\x0e\x0e\x0e\xce\x1a\x8b(\xcd\u007f\x93\a\x06\xeeW\x14\xf5k\xae\x9a\xe5zہc\x89\xbcX@\xa5-\xf4Ɵ\xfd\xbd\x03\xb9\xb2\n;HR\x96\xc5q\x9c\v\xe7\xe8\xd1-;\xf5J\xa9#\x1d\x8b$e\x83$\x85\x05\xd9\x14\xd5;\x9bczךuioK\x9b\xee\xac^\x1a\xf7D\xdb\xda\xd8\xd5\xca`0\xcaA^\x9c\xdc\x1d\x0e\xef\x93\xeaj\xc4\"\xd3v\xf0x\"\x97\x881\x81\xecQ\x93(i!\x8bn\xdd\x19\x87\xf8\x80\xe2\xf6|\xda$\xc1\xa2\v\x95U\xd1G\xf3|B^2Oo\x1e<\x10\xaf\xc8E\xdeZ#y\xe1\x9a\xc8\x10E\xb9\x86\xdd$ٲ\xeb\xc0]E\x92\xb0&s\x04I\xe3\xc15\xe2s\x9d'\xce'Uɉ\u007f\xff\x91\x16\xeb[\x9e{\xd4\x06f\xf3\xeb\xcf`0F\xc40\x899_\xe0\ty\xe9B\xdd\x1d\x89\xea]'/$m[T\xadD\xb9mW\x1c5\x96.M\xfb\x17\x88\x12\x14!J\x90\xb5h\xbb\xa5x\xbdo\x95\xe7ߋ8]\xbc\"]\x85\x855\x92g\xae\x88,T\xb9\xb1\xc1\x9e\x98$HR\x85n\xeb\"\xbd\xfdЉ\nw\xb7\x0e\xd5I:h\xfe\xc2Q\x83 W\xad\x15\x02\rf\x16n\xdb\xfec\t\xd7\xf2źK\xd1\xfe\xb5`\x93\xc8`0\x18\xc31Lb\xce\xe3\xfbk!1\xd7ݗ\xe99{5]R\x82\xce8\x15[\x9aw\xec\xb9\t\xa2TT\xf5\x8b\xd0\xfd,8\x17\xb1`\xa9\xfe\xe0\xef\x8ax\xe8\xbaM\t\"\x90lE\x92\xe30\x92|L\xef<~^w\x91\x05$\x86\x9d٭D\x1a\x9d\xa8\x91\xbc\xf2Ҋ\x8fI\xa2_f0\x12\x11.\xd6\xce\xd5k\xf5>\xb2\xce\xfb\x8c\xeb63\x88\xa1\xd0$/\x9a\xa3+\x1e\xcfیgnһ\xd70\x18\x8ci\x06\xb3\xac\xc2\xd32\xb0\x8c\xac\xba\u007f\x05i\x85\xd7nJ\xa28<\x97\xa0s}\xd2bo \xe0\xe6\x9d{oB\x10\x80\xc8\xe0+ZG\xc7\x02\x9cK\xbdA\x98j(t\t\x16\xad\xbf\u007fe\x1a\tC\xb7\xa5\xb4\xe06d\xb6B\x11G\xaa^js\x8d\xa4\x93\xc8\xc0\xab\xf7\x90\x95*\xe4\xe1*8\xbb\xb5-\x12F+.\xbd#\xdaD\x04\xb9.gA\x16\xd9\x18`\xd3\x15^\xf7P\x02ϼ\x16\b\xfc:\x9e9\xc3\xfd?\x83W\x06\x06\x831ô\xda\xdc\xd1hT\x96\x9c?tU/\x11\xbbka\xb1Mvq\xbeQW',ʝ\xfb\xe2\xf2\xd2\x05\xb0(\xbf\xe6\xea\xe8\xa81\br\xb7\\\xbdL\xf7\xb4v A'SI\xb5\x90c\x91$\xb4U\x9d\v\xe6ؔٚ+\xff\x90\xeb\xebtw\xace\xa8F\xb2RIr\xe7\x1e\xbd\x83\xacG\xd1$\xba\xc0\x82,Z\xc7{\xe9%ixMP\xff\xab\x85\xc3\xfb\x8b\xb8\xfd\x19\f\xc6]\x88\x99\xa6[\xc9\x1d\x8c\xec\x90\xeaj2\x8a$!k4\xa7\xa03e\xf2n\x06Q\xa2x~\xd7\xc1\xb8k\xd9b,\xea_PCM\xbb\xa5\xda\xea\x84;\x14\xd1{\xce^M\xc1\x05Y\xf1\x04i!\xc9\xe8\xb6A\xdd1w6\x12\x9blKڑ\x96/\xd1\xfd=\xfd\x95I\x90V\x92\xdc}@ow\xcbz\xe7\x9a\xf5#\x13dA\f\x18\x82\x14\x88\xbf#Q\n\x19\xddL\x94\f\xc6]\x8ca\x12s\x81\xc0cr\xf5R]\v\x86\x11\aKܶ\xacG\x83([v\x1dHɐbk\xa8\x83U\x89\xf8Y\xa6\xe2\xc4\x02J\xa8\x91\f\xaf{Hwλ\x17\xb12Q\xe38a\x92$\xb2Efkh͆ʌG\xe6ǣ\x82\x18{\x0e\x9d\xd0{\xcf]\x1d\x9d \xf3\nG\xd7\xc5Ƥ\xeb\xe4\x85\x142\xb9e\x87\xe3i\xd4\x063Q2\x18w!\xcc\xf8#\xa0x}oF/@oGwVXkWosݡA\x94\xad{\x0e\xa5\xa5\xba\xdaL\xfb\xe1S\x99J\x15\v\x18u\x90\xa5\xe7\xef\u007fPwҽ\x11\x96\xa4l\x03I\x12\xd9:\x1e\x98%T|*:;ؘ?X\x94\xe5į\xf1\xdc\xe3YC\xa9\x93\xabV\xe8\xe5~ɬ\xe1\xe5\xd2\x10\x06\xe3.#H9:\xb0\x88\xac\xb4\u007fB\xc6hh\xf5\xfa$\xc4\xc1\xef\xa8x\x1f-nݧ/e+\xd6-8Ƶc\xc1\xf6\xb4\xb6\vq\xf3\\LR\x9ex\xb3eX\x92d\x996\xef\xda_\xf9$9\xcePA^3w\xe7^Q\x9aD\x1b\x8b\xbf7c\xf7U\x9c\xf1\xca`T6̂}\xad\xa9)H\x96\xc5w\xe5%\v\x10\xf7J\xdc61\xea\x12\\\x8ew\x1dA\xe2\xba\xe9^\x90U\xaf\xab\xfe\xa0(\xd7p\xa9\xf6\xe8\xb6\nI\xbaEs\xf5\xf6\xc3'\xef\x0e\x92\x9cг\xf7X6\xb2q\x8b\xd0\x19\xd6\xfc\xfe\xdf1^!\xb6&\x19\x8c\n\xc5,cT\xb9CM\x0f\xd1\xc2\x1bG\x17\xf9ֽG\xa68Ag\xf2-\x81J\x11\x12\xe8:yAwIv\xf6\x91̑\xa4T\xbd4\x1b^\xb31}\xb7n@J\u007f\xee\x84\a#\v!\u007fd\\k\xa1\xa6c\x1c\x9fd0*\xd8z\x14\x16d0xU\xaeYF;\xe3\x00\x84\xc1\xe3S\xde\xeb\x8fGə\xad\x1d\x87O\x89LT\xdbD\x04r\x02\xe7YaMλ\a\x92\x80)\x94\xdd\xf0\xbd\x1f\xa5\xe9\xb5\xc8x\xbd\x96FɌ\\[\xa3k\xe1؊\u0098>\x83\xc1\x98ư\xeezU\xbf\xff\u007f\xa3X\xdf\xdb\xd6\t\xb93\xb1@\xf6\xf2\x02yǒd\xeb\xdeús\xbe\xe8\x942\xf1\xa4\x9d\xdcH\x1b\x9d0\xfe[Q\xd5\xcfA\x9c\x81\xbe#uW&E\x95L\x94F\xc6멋I\x95\xee\x83\xecp\xfc\xd2\x1f\x8bIlQ2\x18\x15D\x90h\x01D\v\xedG\x11[\t>\xb86\x95K\xd0y\x8c\t\xf2\x8e&\xc9\xc7\xf5\xd8\xf6]C5\x92\xf6\x90d\\\xcdY\xa5\xff\xa8\xb4\xac^(KғF\xab\xb1$o\x98\xc6N\xe4i?|2᪭\xc6\xfc}\xdd\xd4\x18\xe6\x8cW\x06cz\"\xaf\xa0\xa367k\xf4R\xff'J<\x84(\xf8\xe5G\xb3\xfd\x93\xad\xa0\xc3\xc3\x16K2\xbc~\xb3\xee\\p\xbf\x9d\x96d\xc2 \xc9\xf7\x89g#\xd2\x1a\x92\xea\xebRZ \xa8\xf7\x9c\xbd\x92\xe4\x8d\xd3\xd8Dٲ\xfb@Nc\xd8\xd20\xbc\x8a3^\x19\x8c\xe9\x03cg+v\xb7\xeePt\x8d\xdc\xd8\xf0\x02\n\xf2[\xf7\x1c\xba)\xb2\x19\xef\xd6d\x98i($\x10X\xf1\xa0\xee\x14}$5\xdbHR\xcbu\x12ym>F\x1d\x8en\x85\x88\x84\xb7\xbd+K\xcfE\xba\xe25qmؼ\x88\x86\xe1\v\xefG\xe6\xf1\x1f\xb05\xc9`L#Ȳ|\u007f~\xf1\vE\xceB\xb1F\xf5z\xf5\x8e#\xa7\x13\x9c\xa03\xfd\x16dhբ\x8f\xa7M\x89;Y\x1aIÒ\xbc\x8eg\xa4\xbe\xbe>'\x1e\x1f\b]G\xac:\xb4j]2\xdf]\x85\x9f\x93\x913\xad/?\x9a\r\x0e\xacN#\xa6\xab\x05\x83\xe78>\xc9`L\x0f\xeb1\xef\xf2\xc1\x0e\x17\xeeU4\xeb\xed>}9U\xb1\x8d\x89+XH\xa0\xe7\xdc#:\x91\x17\x12E\xec*\xff\xc8`\x80$i3\xb5Gl\xa4r\x19\x9a\xe2\xb9Q\xbc\xde?\x85u\x14ݺshC\xc5\xf7\xa2\xb85y\xf9\xa5Bh\x1f\xef\x176\xa2\xeePh\x8de>\x19\fƝ\x12w\xac\xaa\x1a\xcc\xd7>\x02.op\xa7\xect~M\xba\xafJ\xc7N\xb7\xf7\xc25\xfb{@\xf2\x98\x9a\x1a\xc9S\x17s.V{ܬ&I\x9a\u007f\xee\xc3\xf3b\x94\x06\xe57W.\xcd\xfd)W.\xe35\xc1\x1b\xab1JC \xa0~\xfaR\x12\x9e\x1a\xb9\xa1\xfe\x05%\x1au\xb3E\xc9`\xdc!\x10\x8b\x9b%\x0e\xe2ij\xe9u9\x9d\x9f\x82z\x0e\xea\x1f\x9bw\xeeK\x925rw\xb4\x94\xaa\xd4\x1a\xc9#\xa7E'\n\x97b[\x8d\xa4Y\xfe\xf1\x02\xfdt[H\xb2\xaa\xb1\xb1q\x8ex\x8eZ\x06\x96\x91\x95\xf9\x03\xc5٨w\x1c;\x93\xe4\x1a\xca1\x12yh~:\x8f\x9e\x89#\xe6O\xf3\xf6_\xc1\x81\x81y\x1c\xa3d0n/fZ]:ZGG\x80\x16\xbd\xbf\x95\x16\xcd\xd5UMӛ\x1eڞ\xee9\xf7H\xae@\x9c\xe3J\xd3:\x8bR\xd4H.A_M\xcd.\x92L\x19$\xf9=Z\xd0\x17Y\x16\xf3aM\x85C\x1d\xabj\xe4\xfa\xba\x1f\xa1\x1bL\xcf\xe9\xcbiє\x99\x9f\xa3\xd13^\xf7\x1c\x8e#\xbc\xa1h\xdaǭ\xef*/W\f\xc6\x14\xc2\xea\xc6\xf1\xc6b\xf5\xaa\xc7\xf3z\xe7\xe2\xf9\x19\xa5\xb1^\x0f\xadݔ\xe9:uQ\xc4\x1e\xd9z\xac\x8c\x857\xb6}\xb7\xd0XU4\xfbH\xd2H\xda\xf97\xcbc%,\x1e\"M\x1f\x8dm.M;NDzN\xd1<\xff켯J\xf7\xf5\xf4\xa7\xfb\xefFq\xf9r;\xd6Ц\xb4iˎ\x84\xc8x\xf5\xfa\xdeh\xcc\xed\xac\xc2\r\b\x83\xc1\x98\x84\xb8\xa3\xd5u\xd3\xd558G\xf1x^)\xd5,\xff\x85k\xf9b=\xb0b\x95\xdey\xfc\\\x1cĘ\xef\xb5\xc8\x04Y\x11B\x02\x91\r[r-\xb2T\xdbI\xf2\xfdVW\xab\xd3\xe9T\xe8\xef~\x05O\x84\x8b6\\J}\x8d\x0ee\x19\xc40\xa3[vVx\xcfI\xfb2^Q\u007f\f\xa1\x0ed\tk\xc1\xe0#\x1c\x9fd0&\x99\x1c\v_0\xcd\x1fnZ9\xa65\xa9x\xfc\xab\xe5\xfaZ\xdd\u07fb\"k\xddx\xf1(W\f\xfd1h\"'\x91<'7\xd4'\xa1h\xc4\x16%\x83a\x1ff\x0e\x13#\x8fF{hA\xfb\x884\xef\x1e\x91\xb1\x1a{xO\xa2\xe7\xfc\xb5̔\xb6\xb5b\x02\x1ew\tǸܔF\r\x1ej$\xb5pS\xae\x8f\xa4b\x9b\x90@\xc6 ɃV\v'O\x94~\xffUi\xee,\b\n\xa4\xf2-\xb4&\xfb\xfeWXx\xc0\x8c'C\v\x17m\xe8\\\xb2\xfc\x14\x1a\x9b[\xe7\x99\xc1`\x8c\x83\x1c\xad\x96#\xea\xad\x14U}\x9b\xb4d\x81\xae\xcar.c\xf5\xec\xd5\x04\x92\x03r\x9a\xabק\xc4u\x94_\xe8\x99\xf8\xca&\xb9\xaeS\x17\x91H\x95)\x97(Mk\x045\x92Hؑ\xd1K\xd2\x1e!\x81\xac\xe8%Iǒey\xa0\x88\x1bP\xd4\xda*>ߛ\xa1K\x1a۾;>\xe9\x82\x02\xe6f\xa2¬Vz?\xb3\";yߑ\x84\xbcl\x91N\xef\xf2\xa7\xf3\xb3̥!\f\xc6\xf8-G\xad\xafo9-\x8c\xafq._\x92V\x1a\xea\xf4\xd0\xea\xf5\xb4X^J\xd0\"\x92\xcd/\xb6S\xb0\xb3\xc7wu\x9f\xbe\xa4{\xbbz\xd3M[vd\x98(\xcb+0\xef<~>\xe3\x92%\xdd%I\xb0(ҹ\xee\x1a\xd7\xcb:\x06j$\x85\x15\t\x82\xb3\x91$\xa1\xddJD\xe9)b\xd9X\x04\x05\xb4Ϻ\x96/\xd1\xdb\x0f\x1e\xbf9i\x82\x02\xf9\xa6\xd2\x17\xb3\xed\x87N\xa5*5\xe35\xbam0./\x9c\xa3\xab\x1e\xdf[,\x9b\x11.\ra0Ƃu\x17\xdf588G\xf5\x87nH˗\xfe\xc2U\xb3L\xf7\xf7\r\xe8\x1dGϤh\xb1\xccL\x199\x0e\xcb\xd2{\xa9P\xebqήҝ\xf4\x82\xb7\xee=\x9cf\xf5\x95Ҭo\xb4 C\xafN\xa9z\xd9\xf3\xb2\xd3\xf1\xa2\xea\x0f\xe8\xddg.\x97ܖ,_#\xb9\xefH.i\a\x04i\x93$\x9dQ#\xf9\x13\xb3F\xb2ʢ\xd4d%M\xb5\xbb\xbb\xda\xe5t\xfe\x04\x9f\xef:y!\x99Ϛ\xb6\xd9\xda\xee9w5\xab\x85#zcU\x95\u07bcco\xba\x12[uA\a7\xb4zC\x12ֹ\x16\b=\xcenW\x06cl̶.NJ |Tj\xa8\xfd6\xea\xab|\x1d]zہc\t\x88'\v\x17\xd4\x14\xc7k\x86Z\x01\x1d\x14/\xb5\x1a\f\xbf\x85\xac\xa1/\xa34\xc0\xb0h9F9\xbaJN6\xb2i{R^p?\xe6\xee\xa4\x1alZ)Ӧ\a\"\xe5\xd0\xf9,\xa5(?_#\xb9c\xaf\xee\\<\xcf\xce\xf2\x0f\x93$\xff\xdd\xf2,\xce\x18i\xf3\xa6\x85\xc3]P\xfbq\xc7Z\xf4\xde\xf3\xd7\xd2v\x97\x81\xe0x\xc1U\xebt\xe7\xd2Ei\xc5\xed\xf9\xb1\\W\x03嚴\xed\x84|'l\x9c.\xd1Ʃ\xb3'+/_\x8c\x8cם\x98_N\xe4a0\x86c\x86A\x8cC\xe4\xe8\x0fo\xa4\xdd\xfa\x17\xe0\x8a\xf1D\xa2 \xa6\x04\xda\x14\x99I9S\xbeP\x98n\xd63W\x12\xaaǫ\xcb\xce\xc6\xef\x88\xc52\xd2\xdc)\x93E\xe3\xeb\xea\xc5\xe7\xd2}\x97\xb8\xb0\xbcX\xe7zѐ\xf7\xe0\x89\x84\xabz)b\x89\x1f̓N0|\x15J,d\x99\xa7h\xee\xc6\xee\xaea\xb6bڴ\xcdn!\x013\xb3\xf5\xc3ŬH\x8b\xcbuV\xbe3H0x\x12\xe5F\x81\x15\xab\xb2ظ\xd9\xd1B˪P\x03\x8dXE\xf3\xfc\x91\xaf\xb3S\x96\xebk\x92\xee\xa6\x186\x13\xa9\xfe\nj\xd5\xd5k\xbcW=g\xaf\xa4\xb5PX\x97\xeak3Z\xa4\xa5\xb9HL\x98\xc1\xb8;\x81\x84\x1ckR\x8e\xaf\xb9\xa3\xc5%;?\x8c\xa4\x1c\xcd\xeb\xd3c\xdbvA\x84\\\xb8\xb4\xfa\xccFȷk\x81\xb8\xf2\xd2L`\xe5\x9a\f\xce\xcd\x13\x8b\xad6\xcfY\xf5\a_\x0e2\x87\xa2\b\xac%v\xbb\x16[\x04\xaf\xa6!\xe3&76<\xe3\xea\xe8\xa8\xc1\xbc\x99z\xa8\xaa/\xf0ZX\x97D|\xf1R\xacqae=\xb86'I\xa7\xb9\xed\x16\x12\xf8\xd3\x11\\~E\xe3dZ\xb8\xe9\xb7\xe5\xeaeztˎԄ\x95w\xf2II\x97\x12\xf0N\xc8N緽=[\xe6\x8b\xef\t\x85\x8ec3\x11Z\xbd>%ZuUR\xc6\xeb\x85\xeb9\x8d\xd7\xe3璊,\xeb\xb2$\xfdH\x8bŖ\xb3Eɸ\xdb1\\c\xb5\xbb[u\xa9\xea[\xa4\xc5\xf3t\x95\x16\xad\xf0\xc6-\x19\xda]\xa6\xfa\xaf>>\xb4C\xbfM\v\xc3\xd0\xee\xfePB^L\u058b\xd7\xfbG\x96\x9d\xaep\xc9)\xaa\xfaq\xc4K!` \xe2\x93\x17\xb8\xabH\x01\xa9\x89ނJ\xa8\xe9a\xcb\xe2\x97'\x1e\xc5\xedy\x1f\\\xd8\xcd;\xf7\xc5G\x8c\xef\x9a\x05\xe9\xf4\x13\x96\xbb\xb4|\xa9\x9d$i\xf6\x91|E\x91\xc5y\x96q\xbf\x83\xe83)\xd7\xd7\xff\xba\\S\xfd&\xe7\xf2eo\x97j\x96\u007f\x02\x16\xads\xfe}\x88Of'\xeav\xed\xbf\xfc\x92\xb4\xaf\xbbO\x97\x96-\xd6!\xca?l3\xe1\xf1\xfc9\x88\xb2e\xf7\x01\xa3\x03\xc9\xf5\x8a\xdaL\xe1\x9a\xda\x0e\x1c\x8f\xbbr\x02\x11\x9f\x1b\x9a\xfe\xc1Y\xbc\\2\xee:\x82\xcc[\x8e\xed\xedKU\xaf\xf7UҲ\x85q\xc8}\x05W\xad\xcbv\x9d\xc8%C\xdc\x11\x1a\xabC\ue814h\xf9\xe3t<\xd9\xd8\xd55\xc7\\\xd7{\xee\x91x\xef\x85k4\xae'\xcdgdB1[\xba֎\xa3g\x92\xae\x86z\x9c\xcb\xff-|_\xf2\x99\xb5\xcd\xcd-\x12m$\xbcm\x1d\x98\x8ft_\x05\xc5'\xad\x9e\x87\xf0\xfa\x87\x12\xa24\xc4\x1f\xfc\x8d\x11\xdc\xdf\fFE\x13d\x95\xe2v\u007fT\xa9\xab\xd1=-\xed\xc8XMҋ\x91\xb2[cUX\xa3\x13\x90\xa6\x1bj\xc9t$\xee\x02Az<\u007f<\xd2\v\x9b_\xc4|\xbe\xd7\"\x137\xb6co\xfc\x8eH\xd97]\x94\x97^\x02\xd2\xceNq\xd2G\xda\xdbэr\x0f\xdd\x1di\xe9\x18-\xc6d\xfe\xbd7\xd6\xde*\xd5\xd7f\x91\xc4A\x16yj\x98En\xd6Y\x1e;\x9b\xab\x91D\xb3e\xfb\xd4v̦\xcb\xde\"\x89;y+\x86\x88\xf2/\xf1\xdcF\xb7\r\x92\xb5\xfb2}\u0089Zf\x86\xe7\x85\xeb\x19O\xacU\x97\xebk\x13#5'6\xff_\tE.\x83@\"\x1b\xb7$\xfa\xaf\x95D\x8c\x99\b埊\x11\xcdH\x1b)s~\x89X\x1fs-\x9e\x87\x18u\xa6\xdfp]\x9bj;̓\xfbu\xe7\xfc{u\xc5\xed\xb6\xbb\xd9\xf2\xd7G\x8b}\x15\xc4O\xbf\x04\xf7;\xbc\f\xe3%\xa9a\xc9*Hjr\xbb\xdf9\xd6<\xe5ud[Z\x16\xcaN\xc7\x0fв\xab\xfb\xf4\xe5\xd4do|n\x97:\x13b\xafB*\xd0\xd1\xf8s\xf4\x88e\xd7+\xa3\"a>Ծ\x96\x960\x91GF\xd4{\xd1.\xb1\xdff\x82\x1cZt\x8e%\x90!\xa7x\xbd\x1fS\x03\x81w!#\xb5\x9c\xc5̢\xea\x92p\xa1\xcc\xc0\xeb}\xb3\xc5\x057j\x02\x81\xb9\xd3\xcd\xd5\xd0-\x10͞\x85K\xecv%\xcd\xec>xӵp\x8e\xae\xf8\x83\u007fD\xf3~F\xb4\x11\xeb\xea\xcd@\xf9\x06V\xa6\xedJ1\xb0\xbe\xcf_\xa3{L\x16@}\xddOý\x9b\x16\x17q_\x8e\x86:\x16I\x99\x1b\xa1`\xb0k\x89K\x96\xbf\x83\x18e\xfb\xe1\x93\xe5g4[=\x15>\xbf.56\xfc\fJ>\xa5̕y\x0e\x9epx5\xc4\x18\x90\rk\xb8\xd3+R\f\xbd\xedЉ8\x12\xba\x90\xd8eݨX\xe2Ņc\xd68\xc6\xec\"\xc3\xfa\xef\x9c8Ę4\x88\x87\xba\xab\xabk\x8e,K\xff\xa5HNQ\x0f\x95sS]\x9f\xb4\x9d\xa7H\x00iY\xbd\x10\x04M\x8b\xd9w\x15\xa7\x03\x9a\xa1c\xbb?\xad\xc5\xcdp\xb3:\x1b\xbf\xa3ut,(H\xe6\x18\x1d\x83\xb9\x94u\xc5\xe3\xfdS\x90R\xeb\x9eC\xa9\xa9t\x89Y4R\x13\x8aӉ\xd8\xdd7\xb4\r\x1brJ1\xa1\xd0\x13h)\x16\xe8\u007f\x10z\xa0\x99\xc9H\xfc@-\x9f\xabf\xb9\xae\x85\"\xbf%\xd7\xd6ʒ\xa4Ŋ\xc5\xf7\x8aY\x92\xf8\x8fLP\x1c\x8e6Y\xf3\xad\xa09|JZ\xf8\x00\xacG!]\x87\xf3\x85f\xafs\xc1\xfd\"yG\xc4%'N\x92q\ru\x89\xb2\xfc\xe6RH\xca,\xc9p77\xfb\x85\xb4\x1e\x11l\xe7\x89\xf3)\xb8\x98˚\xcbˏf\x82+\xd7 f\x9b\xd5b\xed]%\xce\xd1p\x8b2\x18\xbc\"\xd1\\`#\x91\xef~S\x81\x19\xd2(\r\x12\x19\xd2\x1e\xef\xbb\xca\xf0LLJ\xb8\x88\xc1\xb0\x13\xc3c(dY\xa1\xd6\xd0\xf6\x1a/#\xf6\x065\x12w\xb4E\x97ji\x81\x8e4w\x9a'\xe1\r5G\xa4\xbaڴ;ܔ\xb3`Ǫe\x13\v\xf1\x86,b!j8\xbcm\x1c/d.\xf6\x1a\x89\x84\\\x92\xf4\xac\x92[D3S\xd2\xc1ޚ\b\xd2ܪ\xc3r\xf7\x04cM\x06\xf9\x88&ª/\xf0j$~\x04W\xadO\xe4\xb2pm\"J\xa3<\x03z\xac\x8dUU\x19\xe7\xb2\xc5)\x97K֍FƏ\x8cA@b~%I\xf2\x13\xf1\xbd \x8a\xe9\x89h\xa5\x9a\xe5\x19h\x97F\xb7\xec\xd0Mk\x12\x96\x93\x13\xdd#ܶ\x93\xe4\xafY\xef\xdf\b\xf7u\xd8\xf9\xab\xcd]\x9a\\[\xf3S\x94\xfet\x9d\xbeT\xd2=\xb6\xa8\xead\x10\x0e\xa0g\xe4{t\x9fn\xb8T\xf5\xa2\xd3\xe9\f\x8c\xf1\xbc\x99\u007f?\x8b\xcew\x9d\xa6\xf9;\x15\xaf\xef+.\xda\x04\xb6\x1f8\x9e\x9a\x92g\xec6\xf4\x1d\x15*K\x1b\xb6&\xe5Est5\x10x\xf5\x88.\xf1'\x9e\x98\xbd\xe1\xe2\xc5\xfb\"\a\x0f\xcem\x19\x1c\\\xe8\x19ؼ,8\xb0\xb16ػ\xda\x19\xea\xeeV=]]>oGG\x04\tbj\xb4\xb5GmjZ\x89\x8cu-\x10تy\x03\xbb\\\x1e\xcfA\xba\x0f'q/\x14Iz\x84\x9e\x8d\xdfP\xfd\xc1=\x85\x9e\"\x06\xc3V7\xab\xea\xf7\xbfLd\xe3m\xd8\x02\v\xd2\xdel<\xf3X\xb4\xd8#Ήx\xa7\xe6\x0f\x1d7\xddR\xe6C\xad\x04#{\x11C\xf2\xf7\xaě$\u007f\x96\xef0q\xf4\x8c\uee3fJw.\x9e\xff<\xbd$_\xa1\x05\xfe\xad&\xc1\x8cE\x96\xf9\x1d\xbe\xc3\xd1J/\xda/eə\x86\xc6(\x1dS$\xccL\xee\x02v#\x9f\xd5\x1b^\xbb1\x05\x8bQ\t\x84\xceX\\t\xf9M\x8b\xea\xf3\xbd\t*7H\xb5\xb7\xb37\"\x8e\xd5q\xe4\x14ZI\x89ء\x16\f%T\"J\x9a\x8b\x97\x8fA\x929\xeb[QZ\x85'@r\xa2?h\xb2\xed\xc0q\xc4젏\x9aK栟\xee\xa8\xed5\x92BH\x80\xee\xf1\xd1QHrȺ\xd3\xf5\x19\xa2#M,\xd6\xea\nD\xfa\xd4@\xf0\xddp\v{\xdb:S\xe6=(\xc5\xd5\xday\xfc\x1cm\xe6\xa2\x19\xd5\xeb\x13\xb5\x97\xee\xdc\xf5\xfc\xc7h\x16\xa5\xf9|\xd1\xe7\xcek\x88\xc9\xd2&\xc1\xb9|\xc9\xf3\xf5tV\xa8\xd7\xec\xbb\\\x81\xb2\x88\x96\fm\u007f\xdfJ\xdd9w6s%SJvl>&{₰\xdcdIzR\x1e\x18\x18\xc9\xfa\x1d\"J\xaf\xf7C\xaeEs\xb0Ц\xed\x10q0u8[\xf7\x1c\x11}\x02\xc9:\xfb\xbfžw\x94\x98d\xaep\xdf\xed\xfe\x03\xe9\xde*\x94\t\tK\x17\xc75\xad/9WpoW\xf9G\xda$K\xc8\u038d\xb6\xa9\xa0\xcf\xfc@\xa3\xcf\xfahQ\xc6\xe2\x1bݲ\x93\xae\xf3p\x16\xbd-!pP\xf6\xbc\x99\xf1\xb6\x1d{o*\xf5\xb5\xbaK\xd3\xde[\xcas\x96\xdfLh\xdao\x83X\x11\xaf\x1b\xb8\xfe\n\xbd\"\xad\xc8\xe2\x9b\xd8lυk\tz\xe6\x13\xbd\x97n$\xfa.\xbf\x04a\x83D\xdf\x15\x8c\x97bÇg\x06^+s ' 7\xae>\x96\u038d\xc7\xd3\xfd\x8f<\x9e\x11\x03\xfdh\x87\x0f\xddT\xfc\x82\xf7\a\x19\xe2\xad\xfb\x8e\xc6Ul\xcehïz\xfd\xaf*\xd8\x14s\xffKF\xd9q\xc8ܢ\xa2(\x9fs\xd5V\xeb\xed\x87N&\xecN\\\x19\x96\x9c\x82\xee\xf4N\xe7S\xca\xea\xd5\v\x8dUd\xf6H\v\v\\&.\"\x10$\xf2t\x9d8\x1f\x1f%\x91'C֯.U/\x8d\xab\xcd͚\xd5J,u\x0e<\x03\x03ˤ\x9a\xa5ϸ#Md1\xe36\xda\xc0\xb1U\xc9\x181\x8ed\xc4\xfb\xbe\x8b\xac\xbb\xce\x13\x17&E\xb7t\x984\xd9\xd2EY\xa9\xae&\xa5\xe4D\xae\u007fo\f\x8be\x86%\xa1\xe6M\x1e\xaf\x17\x85\xc9Yw\xb49\x83d\x10\xb8\x18A\x90\xd0[u\xd5\xd7겢\x88\xccЖ\xaa\xaa{\xc6\x19\x98\x1fv\x1e\xaa/x\x18\xa9\xe6\xd1m\xbb@\xc8E\x1b3#\xbe\x15Z\xbd>\x8d\xdd)\xf4K\xad\x04Md\xf6!!\x83\xb6\xefH\xf1$ \x10յ\x97gѤZ\x94\xc1\x04\u0083\xd6X\xecH\xf7\f\xa5\fRC\xfd\xcf \xae\x8d\x8e\x16\"\x93t\x9c\xaeV\xc4\v1\x9fZ0\xa4\xbb\xbd>]\xf3xEY\x03\xcd\xe5\x1b,\xd72c\xac\xa4\x1d\"\xd9\xf7{\x88\x04\xa1D\xe3m\x8a\t\xb78m\x1c2t\xed\xb0\x96t璅\xb9\x98\xa4M\xeeV\x83$\u007f\xd32/3\xc6r\xa3#)\x8a\xc8\xfck\xa2\xb5ׁ\xe3\xa6\xe2N\xb6TK\x12e-h\v\x17ٰY\xf7u\xf7\x8br\x03EU\xbfXjR\\CC\xc3R\xba\xfe\xa7\x85\x17\xc0\xe1H;\xe7\xce\xfa\x15<\x01\xb8&Ԫ\x96\x9cE>\xe4F\x9cP'\x93\xbb\x91,Ŝ]}\fY\xc5\t\xd1P\x9c\xde;\xd5\xe7\xfbcS\xb8\x83KE\x18\xb7\x90\x01-\\\x1f\x84`@\xeb\xdeÉIW\x98\xa1cw\x9d\xbc(\xba1(\x8e\x06\x9d\x88\U000a9ab1\xd5\\\x8cx\xa9\xe7u\xc8RC\xdf:k7yH\xb5\xa1\x99\xaf\xdcP\xa7{ۺ֏\xe6\x06,eN\xb0\xa0\xa2\xf5\x12\x11\xdcf\xc5\x1f\xa0jn\xbd\xe3\xf0ɛ\x03\xd7_^\xb2\xab|(;\xfc\\\x06\x1b\x12QTO\xcfN\xfb\xc1\xe3\xe9I\xdb\xe0V(\xf9\x9a\xb9\f\xa2Tdϡ\x9b*\xfa\x92Қ\xa4\xf8rI\u007f%xQ\x18\x95\x9f\xa8\x13\xd9\x02\xa2\xa2\x05-\x93\xb7D\xa6\xa0\x15St\xfb\xae8j\xe9\xc8\xf2z͘\xf1\xa4[H\xc1wA\x9a;K\x8fmە2ũa\tu\x9d\xb8\x90\x8d=\xbcG\x88hC\x88ݍ\xc5\xd8P\x8b)5ΐ_\xc4\xdc\xee7\xa2\xfe-\xf8\xe0ڛ聈\xd1s\xf6\xaa\x9e\xb7^\x87\xe6\b\xc5亳zi\xda\xccҵ(\xfc\f;\xa6\x1a\b]\x83\x15\x1c^\xb315\\@\xe0p\x1a1)5\x18|y\x19\t3\xc3\xfeM\xf1x?\x00\xab\xa8\xe3\xd0\xc9\xf4x\x12R\x8c\x05:\x83\x12\t\xdc\x17\xd5\xed}\xf58\x12w\xac-\xd5.`\xf1\xf64\xb7\x8a\x96YHN\x12V\xa4K\xb1\xab\xfcì\x91̐\xc5\x1f+7\xfe\x9c\u007f\x96\"\xcd\xebe\x9a{X\xb9\xb4\xd1J\x8d\xd5a\xc5BPIdIҽ\xfeb\xa1\xa5X\xea3&\xb7\xb5պ\x1a\x1b\xbf\a\xa1\xf3\xf6C'n\xae(\xa1\f\xa4w(\xfe\x9dBy\x92TW\U000dcef5}\xaf\xect|[\x84J\x8e\x9d-_\xb0\xbd\xf4>\x91\x15I\x9a֤\x9e\xaeS\x97\x12\xc2#\x85\xa4\x1eE\xf9g\xad\xa5\xdb\xdcd\xcf\xe4\x0e&w\x11̛퍴\xbb\xa4\x86\xfa\xe75\u007f\x10\x04\x90\x9c\xec\x14t,\x00p\x11\xc1\xbd\xe5B\xe3]E\xf9|\x99\vL~\xb1\x96\x1d\x8d_Aܫ\xe7̕\xa1\x85\rj1\xd7_A\xd7\xf2\x88\x883\x905\xf9=M\x8b4\x96\xb3\x80\x99\xdf10\xf0\xc4l\xd9\xd1\xf0u\xa8\x83t\x9f\xbd\x9a\x805T\x8c\xec\xa1\xf8!\x12^d\xf9I\x97\xa6\x1dw8\x1c\xf5\x05ߗS|\x91\xe5\xc7\x14\xcd\xf3#\xc7\x03\xb3R\xb0NEoHZl\xe9\xfc\xd1\xc1\x1d:\xa7H x;\x1d\xe7#\xf4r\xfeu}}\xfd\x03\xa3\x10\x94\xb0\xd8TUu\xd0&\xe07円ߢ\xf9\xf8\xb0\x93ȍ6\a\x99\xb2zp\x9a\x9f\x85`\xf7\xaa\xf5\x19\x17\x94\x8f|\x817\x99d?\x0e\xbd\xcb\x19\xf9\rX(\xf2\xb8\x91\\\x16R]\x9a\u05ebk(kд\x81Q\xc8\xddp\t\xab\u007f\x8e$\x19\xb7?\xa0{[\xdat\xb2T3\x90\xee\xea/5\xc3uh\x01̆\xd6l\xccH\xf3\xef\x85\"\xc9\xef\x8e\xf8̌\x03.\xaf\xf78D\x15\x14\xb7'k\x94\xb7\xd8-$\xf0\x1f\x16˽\xdc\xf8Q\xde\xf2\xd5\x02\x81_\x87\xcb:\xb8z=ڐ\x15o]eX\xfeD\x14Il&\x14_\xe0\xb1\xf1<_\x85\x1b\x1fOSW\x83\xdc\xd8\xf0]\x85\xae\x8b6\x90\xe9\xd1b\x8bX\xc4\xc3\xeb6'\xa1\x88\x84s\xc6\xef\xd7\xd4Ԉ\x86\xe2ZS\xd3Z\xb9\xb6ZϷ\xb3\x9bh\xdfQ\xe3wq\x9c\xf0\xfa\x87Rx>P\x1b\x1a۾{\xa8kʝ@\x94\x93\xa0'm\nk \xd3\x1f:Ɋ\xdb\xfd\x0eg8\xbc\x98ݯw\a\x8cVP\xbe\xff\x83\x17\xady\xc7\xde)펞\x8fCFb;'\x92h\x94K6r\xbfW\x95e!\x1dg\xc4\x15\x84\x10;\x12h\x880\xae\x8fs\x01\x1bF\xc6J0\xf8J\xc4k\xa3\xdbv%o\xc9l5\x89\x1fIC\x9d=IQ;\xa7z\xaeY\x17l\xcb\"\xbc\v\v\x8c\x88\x1b^{\xf9PLS\xd4v^\x85e\t\x97۳\x86\x85\xfd\xbe1\\\x9df\x12\xd3v蠒%\x8a$\x99\x9b֒\x92r\x16\x85\xc8\xfa\xcdi\xd4i\x92\x05\xf9\x19w0\x1aUU\xefzE\x92\xf6\xa3\xfb\a\x8d\x8de\xc4%\xab\f\v\xb4VQ\x9c\xbd.\x97v\x90H\xec\x15\xb2\xe4|Z\xc4vsqD\xdbH\xd2H\xda\xf9\xa7\t\x92y~3\xa3\x04\x02\xbf\x9f\xef\x81Y\x98-jܫv4\xa4\xa6k\xa1g\xef\x9d\x13I\f3\xe6\x89\xf6TJ\x9b\x1c\x0e\xfb\xd4`\xf8\u007f`\x8e\xb0\x99\xa0{yk\xadk\xbe\xed\xd4\xde8J\x8aT\xaf\xf7\xed\xd6\xe3\xe5\xf3\v\xc2\xe1#\xae\x9c\u07b2\x88ُ\xbb\x8c\xeb\xe2\x90\xe0\xbe\xd0V^p\x1f\x91r\xf0\xadD\x16\x1f\xc6f\x02r|Cd~{\x89\xd2\xcc\xf0\xb5\x8d,\x8dR\x11a8\x9c\xbf\x96\xc6\x06\xc1\xb5t\x014\x87\u007fD\xf3\xbb\xa1p\x8d`Td\x1c2x^^\xb2@(\x8f\xd8\xd9Eb,+\xb2\xfbԥ\xac\\W\xab;\xe6ߗ\x92\x1d\r\xef\xa1\x05\xe2wixJ\\h\x86\xda\f)ʯ\xb9$\xe9\xd3RͲ\x1f\xa1\x06/\xb6co\x16\x8a.-\xbb\x0f&\\P\xdaq{\x04\xc9\x18% \xe3vI\xe7K8T\xf5\xb3h\xd0K;\xcb[\xdca\b\xf8\x877n\xcd(u\xd5\xd8m\xfe\xc1h\xf1UZ\xd0?\x868\xe70a\x02\xa3U\x18\x1d'%\xa4\xf4j\x96ǵ\x96\x16\xd5J\xb0# gM\xa2=\x10\x1d\xd3\xdb\xd9\x037\xab\xe1z\xbe^r\xe9\a\xba~\xc0]\xec$\xcb[Z\xbe\xe4EX\xce\xf2\xb2\xc5pg\xeaFyE\x82FM\t\xe73\xcbX\xf8\x8f䉌\xac\x1a\x10\n\xc4\x04`i\xbbdI\xb7\x9b$\xe9<\xdfVj\xd2\xcch\x84\xe5\xf3\xb5/u\x87c\xfd\xf4\xec\xfc\x04-\xb0\xda\xf6\x1e)\x88\xed\xe6\\q(\xf3\xc1|\x11I\xbdGv8\xd6Y\xeaHK\xfa\xee|3W^\xf3X\xb6\xed\xc0\xb18\xc2;pq+^\xef\x1f\xc0\x13gٜ\xb0\xfekE\x11d8\xdc%\x04\x03Zڅ\xeb\xb3\u007f\x12\x1a\xf7\x8e6\xe8\xa5\xcb\xfaz\xfa\x85{У\xa9\xb0\x9a>fYd\xc6,y\x80\x1bRS\x15\xe1b\f\xaeZ\x87]n6WRr!\xa5\xa0\xad\x93\xd3\xf9\xb92\x92_\xc6\"d\x01(r\xd0.\xf2\x17\xde\xd6\x0e$Ld\x8c\xb8T.\xc3q۠\x10Fpi\xda\x1f\x8fdq\x99d\x1b\u07b4i\xb1s\xf1\xfc_\xf8\xe9\xfaM\x05\x1e#\x95?\x1bݲ3%ϻ\a\xd6\\\xa9\x16\xf0\x8c\xbc\xb5\xeb\xf3=\x82\xdd=\xb2I\xcd\xccْuf/\\\xc7\x1c\x8an\v\xb1m\xbb \xb8\xad\xb7\xee?\x9a\xf1\xb6w\xbdh\b\xc4\xff\x8d\xe5zf\x8e\xe9\xa1P\x94\xdf\xd2\x14\x17\xdalݤ\x85%M\xf7%\x8d\xda?\u007f\xdf\x00H\xc0\xae\xee\x1f\xba\xa5\xfc\xe3U\xe3\xdcՋ\xf3\x95$\xa9ۥh_\x96kk~\xe5\x84;1'\xc0\x9e\xc5\xe6a\xd8<\x1a\x1b=\x10\x98\xaf\xab7#\b\xda)\xba\xa4\xe9\xf1\xfc\r\x88\xb2e\xf7\xc1\xe2\x1e\x1e\"f\xc8!\xd2}N\xe72\xa8\xd5w\x17\x8b\x13\xe7\xe3\xf6\x03\x03\xf7\xd3\xf3\xf8m\xd5\xeb\xc5\xef\x95M\x16\xbd\xb9\x18\xbf\x1e\\\xb5>\x8e{Gs\xf3.k\xbc\xdd\xfc\x1e\x97\xea~\x95\x1b\xb1Y\x9f\xff\x05l\x16'\xbd\u0557\xb9IA\xbf؎n]Z\xbe\xf4\xa7\xe8\xfb*6\a\x8d\x8ds\xc4\x1ct\x0fD\x9d\xf3\xef\xfb\x15\xd6\x00\xb2lӓ}.B\xff\xf5\xf0ɤ\x9b,w迺<\xbe\xb7\x98\x9b\u007fN\xea\xb9Ñ\xb7\xb8\x9a\x9a[\x86\xcb\xcb\xec\xbf\tq\a\x11\x13u:~\xe1\t\xb7)v섇Y\x94\xaa\xf6\x0fF\xfc0e\x13If\f\x92|\xd2\xe2f\x1d\xefb4\xdb \x96ErC\xfdO0\x97=g\xae\xdc\xfa\x9eX\x94\xa2Г\x92,\xa87O\xf0{-҅\x83\xf7\x92\xd5\xf6-lʠ\xe4\xd3o\xd6,\x0fY\xaeH\x84\xca\xd6UU\x81\xb0\x92h\x91\xa6\xc8\xf2Ղ\xef\x17\xef\x86\xd3\xe9\\,\xab\xea%x\x03ꅻ{[\xa6\xf0\xd9-E\x13\x16I*\x9eH\x14\x02\xec?\x84\x84^\xc1=\x15߅d\x1e$\xde\xc1\xebҼk\u007f\xb2X~{\b\x12\xfd\n\xcf^\xcdʎFݱ`N\x1a\x8a2.\xa7\xf3\x00-p\xcb\xcb]PD\xa3aU\xfd,\xed\x94\u007f\xe8|`\xd6/\x1d\xf7\xcfH@k\x11֤\xb7\xa3G\x87H\xbb;\x1c=b\xb1Rg\x8cw\x83\xe1\x8fuKD\x1c\xbfT\xddn!W\x95W1\x11\xfd\x17\xafe|\x9d\xbd\"m\xdf\x13k\xddPhA\x8dh\xdd\xfb\x83'\x10\xef\xd1\xc2MY\xc4S\xa1\xe4\xd3~\xf8\x94\x88\xd1Ju5Ok\xa1P)\xe5\x1fCRw\xc1\xa0&\xd5\xd5\xfe\f\x9b\x8f\xb6\x83\xc7\xe3\xa5\xdec\xd3e\x84\xecS\xd5\xedA)B\xd2\xccֳIUdf\xde}\xedr\xddІH\xd2\x0ek\xd2L\xda\xf9\x17\xab\x853ѐ\x84;\x1a݄\rOp\xe5\x1a\xb4D\xcb\x16.\x84\x88\xe5\xc3\xdaTT\xed\x9f\xcbHh*\xcd\xed\xda\xd4\x14Cy\x94'\xda,\x9e-+I#\xd6\a\xb9\xc5\xe0\x83k\x91(\xf2\x02\xac7\xc4|\x8bƾU\xf5\x02\xb2\xc6\xd5@\x10.\xdc\f\x1a\tX-\xbc|M\xe1h\x96\xday\br\xb4뎅s\x9eS\x9b\xbb\xb4\x11\x9e\x89\xa1\xf8\xb3\xd3\xf9>\b\r\x88d\xb41\xdd\xfc\x13h\xede&윹\x9a\xf0Ц_\xaa\xad\xf9\xb3\x02OQn\xf3(I\xafR\x15W\ue75d\x82F\xd6\"\x94d$\xe1\xd1:t\x13\x9a\xcf(\xe9Q|yM_\x16 \xb8\x03\x13ur.$\xaf\xef\xad\b,\x97\xd57o\x12\x89\xb2m\xffѬ\xbfw@\xd7<\x1e\x1dqI\"K\xec\x8a/Z^\xba\x19c-&\xb4\b\xdc\xd0\\2b3B\xa3\x15\x19\x89\xad{\x0e%E\x87\x89\x9a\xe5\xe8>q\xcc\xf2\xf9q?\x94C%3\xb1\x15B\xc5$\xa7\xed\x99FL\xd2H\x14J7\xe4\xe4\xe8\xbe\xebjl\xbc\x88\xa2{\x8b\xf2ˌB2\xa3\xeb`,\xb4\xaa/\xf0z!\xb2\xb1\xeb@\xce\xf5y\xfe\x9a\xb0 \xc5}\x92e$4\xfd\xc0\xd7\u07bet2\xe2NZ,\xb6\x05\t\\HHɓ\xb4Y\x82p\xed\xe5b#\xa8\xe6ޛ\xcf\x14i(\x9e\xabSu\xbb;d\xc9\xf9\xa2\xe6\xf3\x89\x8e3\u0604Y;\xd6\xd0u\f\xb5\xe3\x1a\xa9\xdf\xeb\xe6\x1d\xa2\x16T\xf1z\xbfLs<\x88\x9e\x97Ŭf,\xfc\xf4\xdc]P\xdc\xee\xbf\x17\x1b\xe0{\xab\x90\x1d\x9c\x1d-\x93\xd6 \xe9l\xff8k7\x11V\x01\xf9a\r\x91\x1a\xeb_e\xbdwy\xddeo\xe0\x18\xea\x19\xdb\x0f\x9d\x04ig\xa7$\xb4d&\xf5\xd0\xfcu\x9f\xbe\x9c@\x99\x17\\\xf2\x88\x0f{[{\xbc\xe6\xfcq\xa9\xc8\x1d\xe4fՂ\xe1\xab\"!`\xed\xa6\xe4\x9d\xd2kN\xec2\x85\x15\xf6H&\xbc~\xf3\xf3Hd\xa1\x17\xecc%Z\x03f\t\xc8\x12\xb9\xa1\xfeIwS\x14;ldԥ\xbd\x9ddA\xd6\x12A\xfaC\xc7\xedܵY\xc4\x17N +ؿ\xe2A\xc48\xb2f\x11>\x11g\x061V\x8d,1w\xae\xf0\xfe\xf1\"$7ˈ\x1f\xfe+\xe2\x91d\xa5$;\x0e\x9f2ۅ%A\x1e NO4\xda6\x9e\x85\xd7\xfc\xbc\xaf\xa9\xdd#;\x9dO#f\xd5~\xf8\xe4(\xd9\xcb7L\xcb>\xe3in\xcd\"\xc1\x89\x16睅\xae\xdc\t\xc0\xdc\x14\xec\xa4\xf1e\xdaDd\x95\xa1\xae\x1dv\t\t$A\x92Ŀ\xff\xcbF\xb2\x9a\x95\xf7\xbeH\xd2\xd7q\xce(1\x029\xf5\x9c\xbd\x92Ή\x89\xd7f\xb5HK\xb3\x9dֶ\xe1\x1d\xa9#\xe2\xdb';\x1cG\x14\x8f\xe7;\x103h\x19ܟ6\xc9F$U\xed;\x9a\x82\xbe,\x91җ\xad%\x19E\xbd\v\xde`\x0fY\xa5\xbfByD\xe7\x89\xf3\xc2*ű\x88d\xf5\xfa\xaa\xaath\xed\xa6l\xd15!\xdf/\xf3\x98\xeenj\xce*\x9a;\x03\xa9E\x9a\xef?)\xf8>S8\"*2\xb6Q\x17\x1b\x8e@\x9aQ\xcf\xc5&\x1f+.\xe9G\x04Ҳ\xfb`\x06\xed\xc1\xe8\x1dȎG\x88\xdfh+\x17W\x91\xa4&\xcb/\xb1\x92d^\x93:\xda\xda\xe3\x9cw\x8f\xc8\b\xa6\xb9KOe\xfeE\xefP\x8f\xcfLl\xfb\xee\x04ja\xa5\x9aei-\x14:[\xb8\xae0n'A\xc2\xfaAۥ\xb6N\x91\x89\xd77ł\x01c\xb5\xa5\xe99w5%\xea\xe6\x1c\x8d\xbf\"\x02\n\x94\xec\xaa4E\xa1\xdd\xee\x87\xe1^\f\x0e\xac~Q\xa8\xd4\xdcW\x85\x0e\x1a''\xc3\xff\x9f_x|\x81߃\x1cXdӶ\x84\x19{\x11.\xb8}G\x13\x82\b\x10#Ӵ\x83E\xce!'F\x1e\x0e\xb7\x10\x19\xde\xc4uC\x19\as \xdak\xd1F\xc1\xecE8\xde\xc5>/I\x16\x89\x84\\\x0e\xc7s\x10\xcbF2A\xd14xc7\x8eD\x10\xc7\xec*\xdd9\xf7\x9e\xa4TS\xfd\x19\"\xeb7\x9aB\xe1v\xc4\xd9\xc8j\xfe\x8c\x87\x16i-\x12\x8d\xab\xc1P\x16\x99\xb7v\x89\x9b[H\xf2\xb2\x9d\x16\x9dy\x1cw$\xd2!A\xf0\x1c\xe2\f\x17\xae\xa5Q\xa2#\x9a\xf2\x06#{l\xfc>\xab\xae\xef\xc7@6p\xeb#\xbe\ue49cٶ\x83\xc7\xf3uyd\x11eD波\xfe\xc4\x15\x89xK\xcaE\b\x04\x8e!\xcbS\xf5\a\xb3ݧ/\x89^\x93\xfe\xbe\x81,܀\xb0\xfa:\x8e\x9d͌DR\xb0>\x89P\xd3\xf0p\x882\x1bU=R\xe0bͫ\xcd(\x9a\xe7]J]\x8d\xc8\fF?\xd2b\x16j>9\xec\xc0\xb1\xb4P\x16\x9a3C\xb4MC\x9dcY\xee\xd0\x1cIfc;\xf7f\xa0R\xa4D\"\xab\n78\"L\xd2\xd1\xefv<0\xebEx\x9a\xd0\xf3s\xca\xd7>k\xa9ȱ\xb3Ix\x8d 뇄<ڐ.\xb7\xbc'\x9c\xd4s;\b\x12\x99\x89\xb4P\xfe\x14/\xdcP7\x80;\x80 \xad\x02\xe7\xb1V]\"+\x97vWk\xad\x0fwY\x8b\xb0\xa6\xfd\xad\x06\xc5\x13,\x04\x81\xc0\xe9I\xf4\xfb\x0fe\xbc\xba\xbd\xef\x85u\xde?\xa5\xbeG\xf4\x1d\xafDoA-\x12\xbb\t}`\xb2\xca~\xdd\xe6\xef\xca{N\xc8b\xfb+ĤC\xab\xd6?\x872\x0f\f\xab\xf7%\xb4zC\x16I8R\xcd\xf2_\xd0<~\x93\xe6\xe0+N\xa73P\x84\xb8LգG\x14U{NZ\xba(\x89~\x93\x866\xb0\x90\x05T<ޯ8\x17>\xf0t\xe8\xc1\xb5x\x1f\xd3Śo7\xef:\x90\xc1\xf3#\xcb\xd2\xf7]nw\xff\b\x1b'Kb\x96\xfav\xb8\xfaM\x81\x8caY\xe0\x06AҦ,\xa5B\x11Kr|\x8bH\xe3\x1c6!pI\xde\xd28`l1\x92$\x1aT;\xe7\xdf\xff\xa3\x8e\r\xfb\x87\t*\f՟\xb6u\xdf.K\xb2X\xdc\x1f=U#\x1b\xb6&]\xcb\x17\xc3k\xf4S-\x10\xdeZ\x18\x0fgL>\x86\x82\xe8\x9a\xf6)W\xf5\x12\xbd\xed\xe0\x89\xf8\x98\xb1\xa9\xa9V\xe9\xbf\xfch\x96\xac\xbf\x14\\\x97d=\x9d\x1f\xe7\x82,^\xd6\xfa\xfa\xfaedQ\xfe\x99\xe6\xf1\x1f\xb4\xcc\xc1\xa4\xec\xcc\xf2\"\xe5\xc8Nu:\xbf\n\xf7j\xd3ƭ\xbfB6\xa2\xb3f\xf9\xcf4\xbf\xbfy\xac$\x0eK/̓\xa2\xce\rb־\xe0\x0e;\xdd/\xb4x\xbe\x9c\xc6_\x90\xa5\xf0U\xe7\xfdUX\x103\x88\xa9\x15\xf5$\x18\x8b\x17\x1a>\x93Ŕ\x84T\xa1\xe2\x0f\xaf.\\\x00'B\x94\x88\x99\x92e\xf4Ne\xa8\xff\xa3\xad% f\x8d\xa4\r\xe7[|S\xa4\xaa\x9fp\xbb\x04A\xbe\xd5\xf2o3'\xe5\xbdu\xb9>\x0fR\xee8zZ\xb8xE\xad\xa6)Iw\xf2\x02ji\xb3\x90\x0eD+,\xe1\xda״\xf3\x05מ']\xfa\xb7\u007fP\x89\xb4\x9a\xb6\xec\x88w\x9d\xba\xa8\x0f\xd0\xf1\x9a\a\xf7\x89\xf7\xce\xe5\xf7\xafQ<\x9e߁\xd6p\xe7\xd13\xc35\x84!\xf3\xb6\xfb\xa0!\x90!e-\x16dU\xc1\xe6s\x86q\u007f\x17\x19\xb1\xf8WJu5\"\x8eI\x1bǡ\xae<\xe6\xf9\x9f\xbe\x94\x81\x1a\x8eT_\x9b\xf64\xb5\xb6\x8b\xf7\xc0\x1f\xfcM\x89\x88,\xb6mW\xba\xa4d\xb3|3\x80+q\xb4\xaf\x93\xea\xeb\xff\xaa\xf0\xba\xf3$\x19\nm\x17\xa2)\xfb\x8fe\xa6,&9\x96\xfe+\x9d\a\xd6d\xe4\x00\xe0\xdch\xc3\xfd\x86\x81'\x9e\xb06fg\xabr2a\xfa\xe4\x15\xbf\xff50\xeb\xa3[\aE\x96\xe3\x1d\xd3\xef\xcdx\x01\x9b6?,\xd2\xe7U_\xe0uc\x91J\xa9\xae*\xcbq&5s,_\x83\xe6\xf3ɴ\x9b\xff\xb9B\x1b\x11\xc4ܼ\xb1X\xbd\x85\xe8\xc6h\x92lf \xba_M;\xf4\x8b6\xed$s\x85\xddn\xb7_ˉ'\xe8\xbe\xf6.\x1d\xc5\xee\xd0d\xed\x1f%\x931\xd7\x02iKRܓ@N3v\xc0&\xc21\x93\x8adM\xebTr*;Y\x9b\xe2\x92&ѾH\xd7\xdahS\x1c\xb5\xe8\x9c\xfa|\xbe\xa5.\xafw\x8be\x13c\xbb\x92J\xbe\xf5[SW\x83T_\xf7\fb\xd4ݧ.\x0e\xf7\x00\xa1O\xea\x8dW\x8a\xccIC\xb4\xe2\xfd\x96s\x99Yx,%\xd8\xd4\v\xc1\xfa\xf0\xdaM\xf8\xbd,\x12x\xc4\xe2\xect\xfc\\\\W\xb4S\x96\x96-I@O7oM\x1anx\b\t\xb8rq\xf2\xb4a\xfd?\xadJR\xb7\xf5\xf8\x16k\xfb\t\x8f\xe1&F6-\\\xbb\xb7t0\xa1\x8dq``u\xd6\xf9\xc0,\xdd\x13m\xd9f\x9ek\xd7\xe0\xe0\x1ci\xd9⟆V\xad\xc3ڐ)U\r\x88,Ҹ\vr\x96\xaa\xfa\a#ZҚ\xe7w \x8a\x81\x06\xd4E㣷\xc3H0\xf5_\xcf]M\x05V\xaeɠT\x846\x90\xdf07\rlUN\xc1\xe2\xed\x0e\x87\xf7!n\xe2_\xb1jX\xfa\xfa\x9d\xe0f\x15bɻ\x0f\xc5Ń1\xa4s9\xd1\xc5\xcd,j\x9e\xb2\x1a\xa4|L\x94vϊ\xdb\xf3\x81|\x01s\xe91\xaa\x19c\x90\xfdD,\x9f\x99\xe8y\x87\x05$\xb6}\xf7\x8b+\x8c$\xa9\xd1\xeeI\xeb\xde#qd\xe0ѵ\xfc}\xe1\xae\xdc\x06\x98\t<'ԡ\xccV[\xca?\x8c\x1aɧ\xcc\xf9\x9f\xa4\r\xd2\xccI\xb8W\xa3\xe7\x12D\xa3\x03\xc8%\xb06\x1f\xc8\xd5\xd1\xe6\xa4\x1c\x85\xb0\xb6,}\xd9\\L\x8b\xc4\xdfg\x98\xb1}\"\xb8\xb7\xc0\x85K\x96ዾ\xae^\x1dn~-Դ6o\xb9\xbaݯu\xd5,\x87F\xeb-!\x19(Bu\x1c9\x95u\xc7Z\xd2\x1a\x88ҰZ-\xcf\xf9l#7`o\xceK \xebm{\x8f\xa6Fp\x8f\xa6a\x01;\x17\xcey\xde3\xb0yY\x9e\x10N\x9d\xbaǹl\xd1\u007f\xa0!7\xbc\x19e\xac)\xa9@\xffJ\xf4\x8b\xfd\xa5\xd61`\xdd$\x89\xfb\x13\xec\xedu:\x97-~\xde\xdf\xdd'b\xff}S(\x95W\xb2\xfe+d\x06w\x1d\x8c#\xe1\t\xe5k\xaa\xdf\xff\xb2\xc2g\x81a\xf7\xcb\xd5\xd4\x16\x94\xeajS\x10K6\x9b\xad\xde)\xcdPE\xf3\xd2#\xa7E\x97oZ\xd8\xfe\x13\xb2Y\xd3|\xd74\xb3\x98%P&\xa9ʹ\xd9*\x11\xc7\x12\xc5\xdd.ח\x94\x86z\x11/-\xe6n\x1f\xaa\x8f\xbc\x98\x10\v\x9c$}\xc7\xdb\xd33\u007f\x84Ew\xc2\xe7\x04W\x9c\xa5\xe5\x96mI;H\xad\x9f\x8a0F\t\x1e\x02[\xdfe\b\xd5c\xe3\x12|p]\x12\x19\x92Bh\xe2\xc8鄒\xcb\xe6\xfc\x81\x16\xeb[>\xdabj\xdeC(\x11\xb9\x14\xe5\x05\xc4\xecE\xb9\x95\xd7{\xccj\xe1\xabmm\x0e\"\x9ag\x11߃\x14\x9fUr\r\xf1v\x90\xb2Q\xa6\xf5w#l\xf2\xf2=M\x11:@\x8c\xbd\xeb䅤\xb5a\xb4E\xee0\x81\xfaeKh$W\xf3\\\xb3\xec\v~\xf4\xbd4\xe3\x92%\b\x1d\x88\xa4\xa2}G^D\xd7\x1b\xd5\xeb\xffM\xcb\xf1rY\xe4\x1e\xcf5X\x914g7E\xf9˅\xebw\fI\x16&\xf5\xe0\x1dD\xe2!\x12\x02\xe9^}\n\x16\xbeenY\xffծ8\x19$\xa8Н]\xa8u\x1c;\x9b4\xa4\xd9\xee\f\x17+\xe2\x11\xa7.f\x84\xab\xa7\xa1\xfe)\x14\xe7W\xc8ni\x98\x86\xe5D\xe2^\xb6\xbb\x83\x83m\xb54\xd7?v\t\xf5\x96\xf3\x89a\xad\x83\x8cޕМ\xf4\xb6u\x88\xc4!OSS\xbb\x9dq\xd1\xc2\xd8\x1d=\x9b\u007fj\x90d\xdc&\x92L\x18I;\u007f?\xd9\x16\xde\x14#\xff<\xa9>ߛ乳D\xbf\xc6\xeeӗo\xa2\x94Cnlx\xd1\xdd\xdc\xe9/\xe5\xfd\xc9\xd7\x14\xe7js\xb3.\xd5\xfdr\x8b+}\x96\xb9nHK\x17~W\xb8;\xaf<\x96\xb1*0\xb5\x1d<\x9e\x14\x12kN\xe7\xff\x83\xc57\x92\xab9\xef\xde\xf5x6\x8a\xe2yY\xbaE\\\xdc췊\xf2\x153I-\xef\x8aw4\xfc-Z\xdeu\x9f\xb9\x9c\x1asc?\xa4>\x94\xf2B\x92\xae\xae&\xa5\x04seS\xc63\x90\xb3n5\xed1\xb7\xaa\b\xbdಳg\xa7pm\xcc'\xf5\xd0\x06!\xbaug\x12\x92\x90R}\u074bj0r\xb8\xd0s\xc5\x18\xff\"mꗾ\x13;O\xb83',\x18`\xdc\x80\xec:4Q\x85\x8f\x1c\x99g]\xc7\xcfő\xa1\x96\xab\xa7zI\xc9\x0f\x9a\xe9s\xef8z&\t\xb1az`\xffu\xa4\x17\x97a\v\xcc\xce\xf4\x8f\x8bR\x10z6@\x86\xb4\x00eE\xffJc\x13\x057XϹG\xb2\xb1\xed\xbbtO4\xa6\x1bV\xd9?ۜ)j\xc6#\xbdF}\xa4]\xb2t\x19CL\x001\xc9\xceJ%\xc9\"\xd7eg\x89\xd3,\xc3Ӱ\\v:\x9f\xd1\x02!\xf4x\x15\xb9\f\"\v}p\xff\x8bB\xe2\x11ڨ^\xafk\x94\xf75\x17\xee\t\xb68e\x87\xe3\x05\xb8\x85\xd1wU\xc4#/\x0f\xf5\\\xa5\xb5 \x83\x8d<ܪ\xeep\xb8?O\x92\x8a\xf2\x97 V\xc4ś\x1f\xde3j\x93pc-\xc94m\xdaN$9\xef\x19\xac\u007f\xa3m\xb6\xf3Y\xe8\x81\xc8*i\xc9|\xd1,\xddN\xedjk\xf3e\"\xe0$ο\x93\xe6\xb0\xef\xcaK\xa1ƕ\x15e'\xc6\x1c\xf4\x96C\x98\x96R\x11Zד\xfe\xbe\x95Y\xa1\xff*\xcb_\xf6\xb7\xb6\x86\xcc\xf7\x93KEJxi\\\x8a\xf6/\u0097o\x8aY_\xb86,\x8e(ܦ\xc6C\x8f\xa0<\xfd}\x92nf\x1c\xee\x8a薝zp\xc5*\xddC\xbb>\xf4\x8aC\xb3Y\xe7\xc2\a\x9e\x91j\xaa\xff\x85nƛT\x8f\xe7\xb0\x16\x0ewA\xa6̹tQ\x06\xfa\xaa\xa1\xd5\xeb\xf1\"\xc5M\xa2\x1ds\xa7d,\xc6\x10\x04\x17\xee\x1b\xda-\xfa;:\xdcVw\x0f\xc3v+2W#\x86\xe6\xcet_\x03\xbd+_\xe8\xbdp=;R\xd7\ad0v\x9f\xba\xf8\xa2\xb0\xf2dY\xd7\"\x11;k\x0e\xcd\xcc\xd6\x15\x86\x15\x99\xb1\xb9\xfc\xe3EI\x92\\w\xc1\x86\xcb\xee,\xe8*\xab\x8b\x1aqN\tM\x01\x82!Hĥ\xdb\x0f\x9fL C\x1e\t8.M{\xbc\xd4M;\x042\x90\x98CVi*\x17ߴ\x88\x13\xec9,\xea\x1aU\xcd\xf3\xfaB\xf7\xb8\xe6\xf3\xaduI\x8e\xef\xe2\x9e\x12Ɍ\x98\xbc#\xca`\xae\xbdL\xa8C9\x16\xdc\xff\x9c\xa7-\xd7\xcem\x14\xb2\x10\x1b\x8a\x81#G\xeew.\x99\xff\x03d\xf0\x0e\x95\x99ܘhǏ\xac\xe1\x95ɶ\xec>\x98\xc0fT\xc8\xecIN\x1de'\xb1\x87\xf7\x90%}\x01-\xbaRX\x83MO\\9d\x99\xd7\u007f\xa5s\x8e\xed\xd8+\xb2\x8cQ*\xa2\x84B\x97\v7\x02\x8ca7\xddP\xb8w{\xdf \xdd_\x85ݑ\xa1!z#\x1fK\x84ُ8\x00\x1a\x01Âk\x19ܗFA1\x1a\x94B%\x06\x0f\xb2\xe3\x81YY\xe7\xc29\xff%\xd5\xd5\xfe\x1d2\xc1\xe0\xf7\xf6tu5\x14ݑ55\x05\xe9e\xf9K\"Q]\x95$ÕrA\xf4\x8d\xcb?\xd0#\xab\xfdg\xe9\xbbSHo\xa6\xef86\xc6CͰ\xc9z\x13\x9b(U}\x0f\xf4[\x9b\a\xf7%n\x91%\x1c\xca\x12\xcc`\xa7\x8a6j\x8a\xd7{\xd4f\xab,\xf7\xac*\xca~#\x1e\x99\xb4\xab\xfc\xc3 \xc9\xef\xd1\"\xb1\x80\xbd\x126\xb8t\xfd\xfe\xedx\x06\xa0\xaf\v\xadV\xe7\xf2%O\xbb\xdc\xee5E\xdc\xf8\xa3>st_>(J/\x0e\x9fJ\x9a\xae\xfd\xee3W\x92\xaa\xe6FC\xf2o[\x12\x88L\xabX\xfc\xae\xa7\xbd\xb7\xc91\xef\xdel\x806\xee\xc5d\xf2Lat$\x14!\x11\xcd\xe5t>\v\x91\x87\x12\xc269\xf1\xf8\xe5\x8b?\xe1k\xed\x00\xd1&\xfb'\x92\xc0c\xb5\x1eO]J\xf9\xfb\x1f̢\f\x85\xac\xe8\xaf\xd3\xfav\x80\x9e\xc9W9\x97-\xfa6⠐߃\xe4\x1e,LX\xe9\xb9R\x9e\xc7s\xc2\xef\xa5\xc60\xad\xfa\xaf\xc7\xcf%\xa1Í\x06\xf3\xb4f\u007f\x10\xf1d\xcb\xf5\xf3\xf3o}\x18 Z\x8c\x160 \x9f\x81k/K\xe7b\x897R\xb8i\xad\xfb\x8ff\x9a\x1ezX\x0f\xf4\xad\xccY\x89N\x87\x0eW\x03\x11\xe2/\xa5\xa5\v?+56\xbeN\xf1\x06\xf6\xfb[\xbbC-\x9bO=0\xd2\xce\x10;\x14\f\xeb\x03\xa8\xb5v\xc5Ж\b\x01xUU\x90\x1d\x99E\xfc\x12q\x82B\xb2\x1cV\xa8N\xdfO\x96\xcd\xdb&\x18Sa\x94INUO<1\xd3%9?\x8fL\xb9\xd6}G\x86\x1aF[\xd2\xf2C\xab\xd7'e$\xf0x<\xbff\xf7\xfd\xb1\xb4\a{\xdc\xe6\x1aɄA\xba\x9fg\xd7\xfdđW\xce\xf1z\x8f\xa1\x05\x17Y\xfe\x1f\xd7\xfa\x86\xd5a\x8e\xf9<\xe4\xadI\xd4]\xd6\xd7=\xe7\x8e\xc6rB\bW\x1f\xcb\nw\xe1\xf2%hH\xbe\xa6\x88\xf53\xd3t\xf1\xab\x1eϟ(\xb5\xcb\xe1\x19\xbbY\xacd\x89H\"\x83ВT[\x9dR\xfc\xfeM\xa5l\xe8\x06\xccZL\xa73\xd7[\x92\xac\xbb\xb2\xbb\x8eX\bM\x18\x06\x97\x1fM7\xefܗTUMGK3\xc5\xe7\xfb}y\xe0H>{\x18\x96\xab7\xd2\xfc\xa0K\x92^\xe7\\\xb2\xe0\xc9\xdcz\xa9\n\u008c=\xbc;\xdbu\xf2\"\xac\xe5\xa1u\xb3\x84\x18f\xder\xbdx#M\x96z\x02\x1b\x11\xb9\xb1\xe1\x17Z \x0e\xa1\xf24\xbcgj$v\xa8\xd0e;ֵ\xc9\xf5\xb5\xef\x85\xd1@\x9b\xfad\xb95\x93\xa6\ueab0dO\\H S\x1c\x1b\u007f\xe87\xab\xd1hw\xc1fc\x18ik\x17/\xde\a-d\xfa\xec\x1b\xa5\xea\xa5߅\xc1\xa2\xd23\xec\xefY\xa1\xc7v\xec͢'&\x1d;i\xae\x9d\xe6\xf7\xf5\x8e\x90\xb8d꿢\r\x9e\x16\n\x8b\xe6\xf2\x8a\xdb\xfbg&I\x1b\xf3{W\n\x10\xe4\x85{ia\xf8\xaeH\xc8\xf0\xf9\x85\xff\xdby\xff\f\x04\xb1\u007f&\xd5U\xff3\x91\xd1\xeb]\x1e\xcfA\xb8G-ſ\xc5\xc8\xd6\x1c\xe5X\r3\xaa\n\x14 p\xf3]\xb2\xfcI!u\xe5\xf5\xe2\xa5H\xf5\x9c\xbd\x92\x14Yr\x17od!\x83\xe5\xac^\x9a6k\xbb\xd8\u007f~{,\x04ok\xab\x97v\x9d/\xc0\xe5\x057\xf9\xc0\x8dW\xa0$ǐ\xa2s\u007fd\x12\xad1\xb3\x1b\xc5\amv\xb7&\f\xd2}}\x81\xeb\x8e1\xb15f\xa6e\x873\xdeͬ\x99\xac\xf5>\b\xb5\x1b\xa2\xf6\xffm!Ǚc\x10\xecA\x90jx\xfdC\xa8\xf7\x16\xb1MxL9\xa8\a\x8f\xa9\xc13P\xb0qˀ.@\xd8Oa\xffL\xd2*9\x16\x04q;\f\xf2\x8bZAs\xbb\xce`h7\x80Z_P\xb11#\x9c\xd9\r'J\x97\x8b\xddL1\x9bD\xa4\x9bo\xf8\x060\x16\x15\xd5jy\xf5\x03xё\xbc\xcb\xea\xf6\xf5cg\x01\x9c\x94u\xbc\xe6\x1e2\x05L?Q\x1a\vJ\\X\r\x05}\x1ak/9\xf0\x0e6\x81\xd5\n\u009f\xb0\xa3I4f\xab\x89\x00\xee\xd7ǥn\x1d\xb1J\xff\x90\xfbHv\x90ubRL\xf5\x13\x99+\x02\x85\xf6\xf3\xf2\xb2`\x01\xfd\xba!\xe0;\xb6G1\a([|}ߨ\xd7!\xa9\x89%\xdbvb܅Xt~-\x8b\xa90\a\xa2\xb0\xaf\x8erNa\xc4\xc5\x17\x16\xae\xd0\x19\x8c\x0f\xe0=_\xbac\xf7p\x1f\xd8Qͫ\xa8=J\xbd \xb1\xba\x0f6\x00\x80sz\b\xe6\xbb5c #f\xa9\v~\x1f\x96\x804\x15\x94lE\xc2\xe4W,}\x1e\x03'q\xe1\x97\xef\u0600\v\xd8\xfe\xeaz7F\xc9J>̮s\x88]Y\xff\x15\v\xc8\xe0\xf3 \xac\\\x01\xf3o\xfeG\x82\x9f\xfdy\xa7M\xe2֒\x9e\xbe4\x9c\x89\rWdS\x95G\x13\xac\x19\x9a\x8aJwj\xb3\xb3\xfe\x80>0s\xc9\x1a1\xd0q\x80\u007f\t&\xb3\xccɞ\x88\t\xa3_'}N\xce>V\x873\x93U>y%''йd\x92\x1e\xa68黓\xf1\xbb\x14ѭ\xb1 \xc9A)Gr\x0f-\xc0f\xae\xf9\x16;\xe5\xe8\xf5\xb9\x85c\xb0R\x04\bV\x00\x82\xd5\xeb\u007f\t\xe4\xf1OM\xf2\xc2\x01~\xf9\x12\x91_\x96\xf8\x16\xbf*\xedq\xb8\xf6\xbf\x10\x04a\xc7\x18\xe6\x93\xe1F\xcc0\x0f=\xa0]\xbeH,ٱ\xfbTX\xa2T\xf8\x1e\xed\ued81\xe2ڋ\xfb\x91\\A{\x1c0\xe4Y:\x82\bh\xacs\xacJ1?\x0f\xa3\xa2\xa6&\x19\tS\xab\xd1|\x85_\xb1\xec\xe5@}[\xb3\x88\x05\xdc\xd7\xd4\xed\x1bdq\x1f\x9e\xees|\x98r\x1b5V\xff\xb5\xbe9`\x06\xc6\xfa\xaf:݃\xfa\x92\x12\xd3\xf0\xb8ϳE\xa4*x\x85\x12\xc1\x978e\xc7\x14<\xc9\x1a\xf2\xf2\x0ehWg\xff\rM-\xa6@\x85\x9d#dn\x9d^\xc8\x0f\xa6\xceln\xd2\x1bL\xbf\x86kQ:\xc9ׄMN<\xcf\xeb\x15f֡X\xe6Hb\xb1\x04\"\xc9\x19\x8b\xf80\xf3V\xd4s\x1c\xb6\xd1\u0082\x01\xa6\x92\x92\x12\xa3\xbd&\xbd\xaf\xafO\x15Bi\x88\xfa\xde/+\xab_\xa03\x1a\x1f@\")\xddy\xe99\xe5;mR\xca\x1a\xfa\xfc*\x0f\x1d;e^\xb3Nd\xf9\x89@\xcc貈\xa5\x86&\xcf\xdd\xc1cc\xa9\xab[j̵\xd4\n\xbc\xfa\xebBz\xea+Z)\xee#\xdf\t\x1a\xe6%\xfb\a\xad\xc7[1\x05o\xa4\x0f\x13}\xb6x\xdc\xcd\x1d\x03\xa0)\x9f\xc16jڬ\xcc\xd3\x06K\xe1\x15\xe1\x14\x9a\xf9\xa0Q\xce\xc4\bQU\xb0\xd9\vn\xaev\x90obŕq<,\x84ɹo\xc2Md\x93B\xca@f\xb6\x18j\x91#r$ak&\x92\x9c\xf1\x8b\xfa\xf8q~.n\x1c\u007f\v\v\x99\xd8p\x8e\xd2\x1b\f\x8fb\x1a\x1cv8\xc1\xf8\t\xa5F\x06\xaf\xfb\x8b.\xb8\xe8\x8c.3\x1d\x8b\xa7\xbfoȵ4\x05\xddӪIz.\xcf\xf1a\x1a+j\x92\xf5\xb9\xb9;u\x82\xf0Ma劗Y\x9deP:,\xeb7a\xeb\xb3~\xeb\xf1\x96S\xc3&ٖ.)b\xbd{\xa8\xe2б3\xe65k\xa5\xfa\xaf\xa6\xbb\xb0>\xef$\x1e?a<\b\xb3Ң\x8b3CV\xf8S\x91W5܍D\xab\xdd#\x05\xed\fĈ$\xfb%\x92|\x11\xb4\xd4\x15\xf2\xc4G\x97uN/\xecb\x12\x98%/\xa6\nm\xb6\x15:\xad\xf6Y]v\x166\x97>\xed\xf4\xf52\xdf^\xf9\xfe\xa3\xa7\xd1M\x84\x9a\xa6\xdeh\xbc7\xb7\xa4D+\x1f\xc7\x14\xdec,\x9b x\xe1\x87Dg\xb4\x14\xed\xd2\t\xfc7\xf9\x94ůbOQSn\xae\x88\x05\x12\x900Yŵ\x96N\x96&\x82\xe7\xc3\xea\xbfn\xd9zF\xcbr8W\xbfb*(\xb8p*\x16DŽ1\xae\x06\x15\xe1\xc8tQ\xe6\x19d\xf3\x0eKA\n\x90d\u007f\xacHR\xda\xdfc\x8a\x89\x93\xee/\u0098\x16oƲ2\x83V\x9d\xfd\xb6\xc1l\xc6\xc2\a\x1f`\x1b/\x1dh\x97Bf\xc6[\x86\xa2s\xdaTM\x97\xd5.\xd0\xc74\x88\xa0s7\xee`\x84\xa9]\x9d\xfdm,ϧe\x01;y\x01¼\xf4\x00\xf3a:=\xfe\x01W[\xef\x10,\x02N\xe1\xdf0*Xg2\xdd@D9sW\x83\x84y:\x19\x01I\xde4\x19$\x89i%A\xda\x06\x810\xa6\x05\x9c17\xb7J+\xf0\x03Xi\x88\x91\x88\xcepR.\xa2\xc0ͬڨ\xca\bّ>\xcc-[R\r\xe6\xbcKu\xea\xd5w\ni\xcb\xdfD3\xb2\x115L\xd7&q\xed\xa5\x97\x0fؚ\xdbOۚ\xda>\xc8sl\xf8\x905\xbc7\x18\x9eT\x04R\xd2sC L#\xe4B\xeb\xf7J\xa4\x16kM\xf2\x8b\xb8\u007f\xc9\fF\v1¸\x88Rg4\xd6\xe9\r\x86\x17\x8c99\xbb\xe5\xbfId4S\xef\xa9\xf0>\xccR{\xbaќ\xb7_+h\xbeǧ\xa6\xfc[H\t\xf801}\x06\x8b\x17`\x94\xaeNoxՠV\x1b\x89$\t\x84酲\x96磒\x0f1V>\xc9\x01\x89${\x95\x1a+\x810\x0e\xb2\x89S\x90\"\xc7M^!\xf9I=\x0f<\xfe`\x9f)vH1\xe4Y\x0e\xe8x\xf5\x9d\x9a$\xee]~e\xea\x8b:\x93\xa9=;;{1\x11$\x810C\xb4H \xb0\xa5X\x84|2r$a{@\xa9\x11\x10\b\x13Y\xd0͑\xc5V\xbc\xf4<\x8c \xfa\xbc\r\x1b\x04\xb3˵2\xd4\"\x96@ L\x03\xe4\x959\xb6\xb1\x02\xbc\x1fc\x92d9\x92\xb0\xef\xf5\xa4I\x12b\xb9\xa8\x9bKZ\xb2\"B6.蹤Hp\x02a\xba!\x13\x17h|\xd5\xc1E\x00bA\x92X\xbb\x95r$\t\x84\xe8\b\x93;[\xa7\x9b@ \xcc\x04\f\aE\xe8t\xbb%-r(V\xd5v\xa4\xfda\x99\xbb\x949\xaa\x05\x10\b\x04\x02a>h\x92@f>E!\x81X\x92\xe4\xe3A+e\x02\x81@ \x10f\x05\xe2\x14}$\xaf\x8fe\x8e$\xa6\x91H\xdd?\xfe\x9b\xb4H\x02\x81@ \xccF\f\xd7\xd6ĖG1\xee#yF\xda\xdf\xe7\x94\x1a+\x81@ \x10\b\xb3\x05\xc3\xda\x1d\x90\xd9\xef&\x83$A\x93l%\x92$\x10f7\xe2HH\"Hx\x82\xa9\xab\x93+i\xccJ\x91\x83v\xb0\xf88\x90\xda\xf3\x92\x0f\xf1L,ͭ\x82\xc1\xc0\xfa\t\x02Y.\x1c\xf5\x98\x02\xe3\x19G\xcf0\t\xc9̙\xfbT\x81\a\xb3O\xc5\xf5\x91\x90\x84\x90о\xb49\x15\x80\x02\x84\xc6\xcb9\x921*I7\x1c\xf8\xa3_\xbd\xdag\x95\xc46\x892\xd9\xfb\x1f\xeb\xb1X#\x1c\x975\x86\xe7e\x9d\xc21\xb0\xc6xܭ\x930\x1e\x13هu\x9a\xee\xa7\xc0\xfd\xe2{\xd6\xd6\xe0y\xc1z\xc2\xf32\xc8K\xb6F\xdf?l\xcd\xed\u007ft\xb4v>foj{\xba\xeah\xe3@\xf5\xf1\x96\xf7]ޞJ\xf6\xb0\x1586k\x8akk-\xb5}\xb7,V>\x840).\x06\xed!\xb5\xacv\xcf\xca½{WX\x0f\x1f^\xe6jhX\x8a\x82\xaf\xe7\x8a\xc8\xe7D2Rpl\x8a\xf6\xef_\x12a\x9eVU\xb8\xddɳ\xf7~\xe8`\xe2\xba\xff\xfe\x04\xd0\xfc\xee\x93\xd2?N\xc5D\x93\xd4\xeb\xcf\x18\fz\xd1PXR\x8f\x03Ur\xf0\xe0r\xe5wF\x92\xf1\xf8\x8a\x810\x17\xd6\xf4ݐ\xec\xea\xbbq\xe9\xb6\xeb\xae[FBB2R\xac \xf8|l\xea\xfcd\x8a\xab\u07b7\x12\u007f'?D[?\xf1\x89\x15\xf9\x1b6\xd7\x18r\xf3?\xa7\x15\x84?\xe9x\x8dȧ&\x9f\x1c~\xca\xd4\x1c\xf7%\x90\xf7\xb39\xee\u007fA\xae\xd7p\xdc\x1euz\xb2\x91<\xb6\x84\x80\xd9/P\xa1\xdf\xc5q\t\x92\xb95A\xca\xf9\x9b3\x01#\xa0\xfd=&\x91\xe4\xe9X\x04\xed\xc8\xdd?\xd4i\xc9\xe5\xe38\x1c)\xe2<\xba(\x11\xf4S\x19kj\x92\x98\xbf\xaa\xaf/\x01\u007f\xd7\xd7\xd7\xc7\x1e\xdc\xd9 }\x14\x198\xef\x81\xf7.h~\xaf\x05r$c\x92\xfe\xd1\xcf\xf6\xa5\u05ff\x95[^\x9eF#\x1c[\xc8\xf3\xccxE\x0ev\"̠\x85x}\xfd\x82X\xf1\x06\xee\a\x05\xf7)s\x93\xf2\x9a\xe7\xd9\xedY\xc0i\x8d\x9a\x85q\xbf\xe6\xd3S\a\xf2*\xabŵ\xbb/\x13\xedM>\xd1\xd5v\xa5\xe8\xf4\xf9\xdfpz{\x1ev\xf9z}\xc3\a\b\xbf\xf0\x82<\x0e\xf2\x92\xd3\xd3-:Z\xbb\xc4\xeaz\xb7XV\xb7O\xb4\x00i\x1arrE>e\xe1{\xa0a>\xa2^\xc0\xdd \xacJ\xdba..^\x1d\xca\xf4c\xe1\xb8D)*oV\x90\x0f\xa8\xcbI:\x9eߥ3\x1a\x8fj\r\x86\xcb\xf5&\xd3!\xbd\x9ed\x84\x98\"\xc8l>/\xa3\xf10\xc8>\xadVۡ\xa8\xd7\x1a\x8b\xf4\x8fӒV\xfa\x98\xb1\xac\xda`.\xab\xca5VT\xe4\x9b\xd6T\xe6E%\x95\xe3\x945sSp\xfc\xe41,**Z2\xe1g\x1e&N\xdc\xdf\\\x1d\xaf\xd9t]\xf3\xd6V\x17X\xaa\xaaR\x95\xae\x83\x18 \x1eyh\x84Bw\xf2d\xbc.{\xd5f\x16\xb1\xbf(\xee5c\xbe\x85\x05\xecY\x8f\xb5\x88._\x8f\b\xdc\xf7/\xa7\xc7\u007f\x87\xa3\xa5s\xaf\xbd\xbe5+\xfc\n\xad\xa1=\xd3\xe1n\xdf\fDy\x15|\xe8G\xc0\xa8/\xc2\aE$NF\x9a;\xf7\x88\xf96\x97\xa8\x87\t\x80_\x92\xf0\xa6\x9a\xe3~\xae^\xc8]\r\x93\x8c\v\xf3\xc0\xceY\xa1[,\x893\xd8,\x17/\xabۺ\xacU\xa2v\xc5RQ\x9b\x96\x02\x92,mI\xe6\x85\xc0uש\xb3Q\xeb\x13c\xd4\xf9\x83\xed\x87i\x92j\xf5\xdf\xd5qܫ\xf0\x9c\xf4k\xe2\xb8\x0fAN\x91\x8cO`\f\xdf\xe1A\a\x84\xed\xf5\x92\x19k\xcc&f\xb9, \xac\xee=\xbc\x8a\xed\xeb=\xd8\xf7i\x1a\xdfi\xba\xa6q\x1c*^\xa2f!\xf7`\xac\xdcB\xc1\xa5\x1fͅe\xb9\x9aŪ+5*\xeeO\xa0\f\x89\x05\xeb\xcf\x13+/\xaf\x17]^\xe05\xaf\xff\x94\xc3\xeb\xff_ \xc6c\xe7\x10#h\x9e#\xac\x8cR\x94\\\\\b\x15x\xa5\xbd\xb9c##M_\xcfO\x808_\x03\x11a\xa7b\xd5\xe1\x13b鶝bny\xa5\xa8]\x9d%\xc2\t?\x8b9u\x9a\x95+\x8e\x1b-\xa5\xf9!\xce!\xc1\x15\xe82\xad\xe2f@\x15\x0392\xd0\xe6n\xff\x82\xb3\xa5C\xac\x84\xf3\xa9\xbe\xc2Mi\x1f\xf3H\xaa\x8e6\x8a\xd6\xe3-b\xe9Eu\"\x9f\xb6|\x10\xb4ʘ\xa5\u007f\xf0+\x97\x0f\xae\xb9\xf8\x12\xb1\xf2\xe01q\xed%\xfb\xc5u{.'\x99\x88\\z\x80\t^3GGo\x1e>\xbbcs\x95\x9c5\xb7U\x1c:\xfeD\xe5\xfe\xa3t]\xa6\xf5z\xe2\xf6 \xb3V\xdaO\xb4\x8a\xf6\xe6\xceO\xcbfױ\xfa\xef\xa5F\xe6q\nKA\xb2\x90\x95\xb5\x0f\x16A\xffͧ,\xfe0wmE\xe0{\xdc\xed\xa2\xab\xad\x17\xb5\xc6'\x9c\xad\xfek\xaa\xea=\x85\xc1\x9cPV\u007f˂H\xc59\xe2\xf0M5nw\x12V \tEd\xeb\x0e6d\xdaݝ[A\xc3\xfc\x14\x90\xe6\x83\xf0e\xef\x02\x1b\x8b\xf6F\x9fX~\xd9a\xb1h\xf3\x05\xa2\xc9R \xf2\xcb\x17}\x00\a\xf8\xb0fI\xc2gt\x1a\xcdfcEMr\x18M.\x81\x9b\xa6\xd2?r\xb0\x03,\x02\x8e\xc39\xfc\xdc\xe9\xeb\xfd>\x9cϽp^\xf7\x8c\xd8\x06K\xb8\xdfG\xfb\xbe\xe0\xdf+\u007f\x0e~=\x9f%\x9a1\x1em\\C\xedGq}\x1d\x1e\xff\x0f\xd7w\xf6\xddUz\xd1\xee\xbf\v\xa0U\xea\x8c\xc6A\x9dN;A\x92Գ\\K!s\x95\xb8v\xcf\xc1\x876t\xf6\xdd\xe1\xf4\xf8\xefqy{~@2~\x819\xe7\xfb\xec\xday\xfc߭\xf2xV˫\xfd\xf1<\xfb\xb0\x9f\x8f\xb8|=\xf7\xc1}\xf0\xbdy1v^\xff\xdd3\xf4\x9a\xde\r\xf3\xee]p=~jo\xed:\x18\x98\x97O\x8ef!\x88Sp\xc7\b2\xd3jM\x15\xa05~N\xad\xe2\x9e5\x98Lbq\xcd6\xb6\x18\x96̩\xff\x86q\xf8\x86\xbd\xa9sK\xb0)\x169o\xb4t\xab\xd0\x006\r0k\xfd\x82p;\xb0\x9d\xf0\xe8A\xab<\x00\a\xf158\x88'\x1d\x9e\xeeA\xd94\xbb\xe6\xe2KY\x82\xb6N\xa3\x165\x89\xdc\v\x9ax\ue910\xba숱\xa0\xc0\x10J\xcb\xc4B\xd3r\xa2\xfa\x14\x82\x1c\xf8\x04\x8e_\xb1\xec\vFx\xa8b\x14\xd9:\x10\x88l5\xf4\xa73\x977a2\x9e[\xad˵Pv\xe7D+8\xc7DUň0=\x88\xbc\xe8QI\xa6\xd4\x11\xd7\xcf\\\\\xb5\x9a_\xbeԭ\x8e\xe7\x1e\x10V\xad\x1cʷ:\xc4\xf2}\x87\x98\xb5\x13\x16\xc1\x83@\xc4\x0f\xd8[\xba\x9a\xd654d\x9e\xab5\xd6/\x88mIG\xc9F\x8bL\x1f\x8a4-\x96\xbaD\xab\xdb[\xe9l\xed\xeaf\xa6Y_\xcf\xeb \xa2\x03T܊\xfdGD\xac\bbʷ\x80\x96\xb9\xf8=X\x06\xfeZ\xbd\x90\xbbJ0\x1a\xab\x90\xc5C\x11&7E\rj\xe5H(N\xdaN\xb7pR\x84\xd7|\u007f^\xd8\x18\x8cq\xcc0\x8a\ro\xfc\xd1D~\x1fN\xb4\xf8]:\x83\xe1\xfe\x18\xb6\xc8\xea\x97:\x89<\xa3-)Y\x8e\xfbWWU-\x92\xd3hf\x9a\xe0s\x1b\xe3b\xf8\x84\x99\x16\r\x8c\xca\xc7\fn\xa00\xfc\x1c\x87\x89\x1d\x91;\xf5\xc8\xc0\x9aѺ\xec\xecZ\r\xc7}\x87_\x9a\U00016a70X,ݾK\xb45x\x989Յ\xc5o<\xdd\xd7\xdb\x1a\xdb*F\xce)'㙦\x1a\xf8\xae\xa9Q\x90\x02a\xb6\xb7,\beG\xae8\xeaV;[\xba\xea@\xc3\xfc\"\x90\xe5_\xe0\xa0\x03\x01@G\x9b\xd8\t宫`&)8\xd1?\x83\x96y\xa3\x8e\xe7kK\\\x17-\x0f\x1e W\b\xb5z\xae\xaf\x92\xf1?Cu\xf5*cai\x95\xb9\xb8\xb8\xdcTTT1\x1f\x04\xcf\xd5PPRm\xac\xa8P\x8fQӟ\xd0\r\x0f\x84\xf6W\x89\xd8\x06bA\x92H\xb8\xb0\xbf\xef͑\x15\xfc\x98\xa0\xcdϯ0\xe4\xe5]\x02\xb2C\x9fk\xd9I2\x1d\x92{1nu9\x96]\xa0\x90\xc8)H\xaaY6\a&H2\fCnn\x19\xbfHu\x1dL\x0eOb\xf3\x80\xc2M狕\x87\x8e\x8b./\x9aS\xfd\x1f\xa0\xfb\xc4\xe6n\xdfSV7\"\x884\u0382\xee\xc3\x19\xb1\x80\x83\x83\xc0\x83\x91\xfc\x99#\x80+\x01du\x87\xd7\xdf\x03L\xff\v8\xa1w\xd1N\x8c̏\xces\x8b\xdd%\xea\x04^\x04\x95\xf9y\xcd\x02\xee[B֪}\xba\x8a\x8a\x8c\b\x03\xa7\x9a\xb3\x04)]\xccl\x8e\xfb\xa2vY\xa2\xc8/\x8e?\xa5Y\x9204/dqB\xbf\x00\xe7\f\x0f\xc1}\xf2=\x15\x05\x01\xca\xf7B\x82f\x91\xea\xb3\xdǎ{\xf8\x8c\x95\xdf\x11V\xa5\xdf\x11Q2\xd3\xef\x84\xf7}W\x9b\x9dy\xb7\xa2\xca\xceP\xac\"[\xb5\xab\xb3\xff&\xacJ\xbb\x1d\xbfg\xd4c\x99j\xc9L\xbf\x83\x8dQvƽ|\"w]\f\x16\x1b\xf1\x01k\x92%Q\x93\xb2\xe8Imr\x92\x88%\xf9\xb0\xcc_`;\x97$i\x06\xefW\xda\a\x8e\xff\xd2\x05\xa2.e\xa1\xa83\x99>\xaa\xb8Fq3\x98\x14\x951*g\xb9\xa3\xa8Hͧ/wk\xe2\xb8_\xf3i)\xfdy\x95V\x16\xc0\x85\x16J\f\"\x05\x05\xec\xff9Z\xbbzl\x8d\xde\x11\xed\xe8\x98\xc5(Ll\xcd̀\x94\xc8)'\x88\x06\xff\xb9\xf2x\xab\x16N\xec0楰4\x13\xaf_t4w\x88\xe5\x97\x1d\x11\v7n\x11\r&\xb3\xa8Y\x14\xf7:h\x98\xf7\xf0\xa9ˮЕ\x96\n\xe7\x9aw\xb9\xc4ਦY\x0fi\xac\\}\xf7'\xac\xdds\xe8\x8e\xd2\x1d\x97\x88 o\x97\xee\xd8\xfd\xfe|\x90\x92\x1d\x97\xbc\v[X8\x1d\xf8i\xcd\r7$\xc9֊HC&\xdd\x03\\\xf9\x9eC\x1b\xf2mN\xd1\\T,\x9a\xb1@q4RZ\xc6\xde\x1fC\x82\x94k\xb7\x0e\x1a-\x85l\xff9\xd1\x1e\xcbT\v\x9e{A\x91hq\xac\x17\xad'Z\x8fN\x84$\x87\xdd\x03\xa0\x91\x96_^\xff\x94\xb5\xbe\x99\xad\xf01\x02\x9ed\xfa\x04#\xab\u05f7\xf5\x8a\xf6\x96\xaeO\xc9\xe6\xc6\x196\xe3\xc9~\xc6\x11\x1a#F\xa7\xf2\xe9\xe9\xbb@i\xba\x8b_\x92\xf0\x96\t\xeeS̤\xb0\x1eo\r\x04\xe1\xf8z^\x06\x85\xeb+\xd6\xe6\x8e\xf5\xe7\xcc\a\x11bhf\xbcv\x84\x0fR\xa8T\x93\xaa#GR\xed\xcdm\xdbAU\xbe\x19\x06\xe0\xaf,/\xb3\xb5\v\x1e\xb2cb\xd1\xf9\xb5\x81h\xd9\xe4\xa4wP\xbb\xd0$/n4\xacY\x13\x1c\f\xa1\x9aJ\x1f\xe6\xa4\xfb\xe1\x00\xd5\xcdm\x05\xb0\x88\x18\xc2\xea\x0fp3\f\xb2\x15Ӽ\x10\xff\x90\xcb\xd7+\xa2i\xde\xdaԱ\x96-\x86BX&\x82\xfd\f\xb8\xc5\xd5\xe4\xfa\xf6+Ek\xa3\xef4\xac*\x87\x02\xe2S\x88w\xc4\xd6\xda\xe0\x19\xb27w\f\xc1\xc2l@\xc8H\x1f\xd2\x19\f\xb1\xa8\xd7*j\x05~H\x0f\x8b\xbc\xaa\xa3M\xa2\xcd\xdd\x0e\xdf\xe3\r\xfa~_\x98\x9fCI4\xef\x89\xf49\xefh\xfb\xedGS\x95\xbd\xa5\xf3\xb9as\xd4xL\xaf\x8a\xcf8\xdbz\xbb\x9dm=\xf7\xb8\xdaz\xbf\r\xaf\xbf;RzN\x06D~\xad\xdc\x06\xff]\xf9s\xb8\xcf\x05\xff-\xdc\xe7F\xfb|\xa4\xef\x0e\xdeo\xa8\xf3\b\xf5\xd9p\xef\x0f\xf7ݑ\xf6\x1bi\xff\x11\xc6\xc0\xd7\xfb-Gk\xf7}\x0ewǾh\x16\x9cS\x85P\xf9\x8c\xae\x83\a\x17\xeay~\x93F\xc5}\x01\x03=\rF\xa3Xx\xde\x05\x8c\xeces*\xcc\x11?\x86g\xeap\xf9\x81ƴ\xe0 \x9c9WI\t/\x96\xa5\xae/1\x98\xf11\x90\xc2\xeenw:<=\x9f\x80\v\xfc{\x16\x9d\x04\xa4Yu\xa4\x81\xb5\x122\x17\x16\x8b\x9a\xe4\xa4w\x810\u007f,\xa4\xadh2\xaf[\xa7\x0f\x0e\xfa\x91d\xd6\x0f\x96\xb5\xd1c\xb1\x9e\xf0ح'\xbc\x95U\r\xcdճA\xaa\x1b[\xab&\xf2\x99\xeac\xadU\xb6\x06\x9f\xcd\xd142\u007f)\x1a\u007f$\x16Yw\xb6vWm\xf0\xf6T;ۮ\xacr\xc06\x9c\xe0\xdf\xf1>\xdbzݍy\x05\x1b\xb7|F\xaf\x15b\xe5\x8fd\x8d\x96\x81$\x9f\xc6cqu\xf4U\xda[\xbb\xad\xa3\x1d\xcft\t\x1e\x97\xd3\xd3m\xb7\xb5t\xf21\xf0\xedR\xa4\xf8,\x88u\x98Ns\xaal\xf5\t\xf23Vk\x92\xb8OÜ\xfe\x17̄\xc0\xf6T\x98N\x88ѩ\x929\xf51x\xdd[q̝?\x174\xc6qkO\x18\xe1\x1a\"\xf8Ge;\xe1+\x03\xad\xa2\xd7\xe1\xf3?\x04\xdb3\x8c0\x8f62\xc24\x15\x14\x8a\xfc҄\xb7\xd5q\xdc\xff\b\x19+\x8fZ֭\xcb\f\xe1'I\x98\v\x1a&a\xf2&\x00u\"w\xb51PD\xa0?6A;F\xd0&\x85\xdb\xe7\xeb\x85\xc0\x89\xabo\x86D\x8a\xcff\x89U\r\xd3p\xd9\b\xd3\xe5cd\xc4h0\x94i\x92\x17~\x14\x88\xf11aU\xda\x10\xa6\nbl\x8a\xbd\xa9M6\xa7>\r\x9a\xe3\r\xb8`\x0ez\xb6\xe3X\x1e\xff\xcc3\x1bO%a\x9e\x8cg=\vO\x9e;\bh\x82\xb4cz\x89\xb7\xe77\x0e\xaf\xff4\xfa1Q\xc3ĄQ,ȮY\xac\xfa\xb7:\x81\xbb\x83OO݅6\xed\x11\xfeKn\xd8\u007f9\xd9`\xe1\xcac\xcd\xdf\n\x95\xcfU\xb4y\xff\x12K]\xddҙ.\xd8J\v\xb7e\xb5\xb5\x8b\xa3I\xbf\b\x99\x92\xd1ח\x88\x96\x05&\xd2kE\xd0NT\"/\xb6\xd8磐\xb2\xdaz\xd6\x16No2\xdd)E\xa3Ƃ$\xcfྴ\x06C3\xbb\xefp\\\xe4\xf3\x8b\xa5\xc0\xf8\x04\xc6\ue598HU]ݢXܷ\xf2\xbd\x8b\x16!\xac\x8fJ2F1ְ\xb1;\x1bk!ƍ\xe5\x19\x88 S\xb3@r\xb9\xe4\xf4\xbdsH\x19~\xbf\x86_\x9cp\xb5&\x8e{\x04\xe6\xe8\xfe\xdcu\x95bٮ=\xa2\xad\xc1\xab\xf03v\u007f\xd3\xe9\xee\xac\xc5\xfb1x\xe1\x15\xfb\x9cƹ\xa0\x19\x8c\xf4c\x8e\x80\xfdD[\x11\xfa\xa0X\xd5\x1fO\xf7\x00j\x98\xe8\xc3\xc4\\L\xb4e\xb3\xe2\x05*\xee&\xadV\xeb\f\xb2\xc3\xc7K\xb6\xf0\xb8IZ=\x11Ʒ\xe2ĭj\nEnC\xc5\xc1=\xf2\x1b)Gr f\x91\xadZ-\xcbϒ\x12\xd7c}n\xca1#\x90ud\xba5\x9b\xf8PĈ\vVx\xae\xac0\x17_\v\x1a\xe3\xefAc\x1cĴ?,2c;Ѫ\xa8\x82\xd3\xf3=[s\xc7~,\x81\x1aL\x8cr\xae4\xdd\nc0ˆ\n\xe9\xb5\x1e\xf3\xac\x05\xad\xf2\x1a\f\x05\x96\xebʖ\xef;̢\xf6\xb4\xd9Y\x98\x87\xf9(\x9f\xb2\xa4+\xd8\u007f)\xad\xd6T\xb1\xbc\xa1\x8d\xc6\xd2tCN\xcez\xad\xd1\xe8\x9c/\xa23\x99\x1cz\xb3y\xa3>/\xcf4Ƈ{FL\x02@l\xff\x90r$'\xda\xfdc@j\x8f\xf5\xcc\x14\x1e\xbe*\x16\xf7-\\\xc7J\xa9\xab\xcb^\x9d\xd1x\x19vFQn\x83_G#Ѽ?\xd2\xfe\xc3}>\xd4\xef\xf1w\xa1\x8ey<߭\xdc\xd7h\xfb\x8b\xf4\xbd\xa1~\x0e~\xafr\xcb\x04\xc6\xdf`2\x1d4\x18,\xc6\x19J\x94qA\xfe\xc5\x11LJy\xeezAتY\xc0}\x1e\xf3ߵY\x19\"\xb6\xa1\xc2\xc6\x18\x01b\xecE\x8d\xf1-,\v\xe9h\xe98\x82\xb9\xf4\xc1~F\xc9\xedF\v\xc0\x89^(47\x85\xc8nj\xb7\xba\xdb\xedhˆ\x8b\xf0\f^\x10[\xa3\x97] \fw\xe7\x97Ŀ\xa3Iྦྷ\xe3\xb3k\x83\xa2\xa0T\xdc\x04s/eS\xae6+\xf3f\xa3\xc0\x8bz\x8dZ\xd4\xf3\xf3C\xd0َ\xe7\xacU\xab\x9fR\x98\xb4㣙\xdc\xf1\xfd\xda\xd5Y\xb7\xc0\xc3\xf4\v\x18\xbb\xfb`\xfb\x93)\x90\x1f\vY\x19?\x152W\xfd\b\xbe\xfb~E\x95\x9d\xa1\t\a\xed\xa0\x16\xc9k\xde`\xfb\x96\xbe+\xb6Ǟy\x9f\x90\x9d\xf9s!cշ`\xf8\x96\xc8+\xf9\t\x93\xe4\xea\xec?\x18\xb5\x02\\O\x8dh \x99r\x91\xc7\x1d\xe7\r\x13\\\a\xb8\xc670m*\x84\xd9r\x8a\tQ\x9e\x1b\xc3\xc6v`\x99Q~e\xea\x15\xeax\xee\x0e\x90\x17\xb0\xd3\x06潣\x8fqؔ\x8a\x1a\xa3\xcf\u007f7\xa6\xfd\xad;ԠQ~\x1e-}\xf3\xde\xcf8\xd9\xdae\xa8('\xf4\x8f9\xdc\x1d\x17;\xbc\xfe;\xe1\x02\xbd\x89!\xc4\xe8\xbfĐb\x9d \x88@\x96\u007f\xe6\x97%vaݿ\x11\xe4;^S\xac4QYl.[N\x85\xf5\xd39\xe5\xd5\x1f3\x97W_ˤR\xda*_W*$\xf8\xe7࿕G\xf8L\xb4\x9f\x1d\xed}\xd1\xfe\x1c\xe2\x9cr*\xaa\xae\xc9-\xaf\xfe\x0f\xf3ڊKǠ%\xca\v\x92DC^\xc1_Ͱ\x881\x15\x95L\xad\x14\x97\x8aX\xce*f9\x92\x01\x82\x1c0\xe4\xe6\x9d1\x95\xac\x99\xdc\xe3..}\xaf\xb8v\xa7%\xca\x05ɨ\xd7\xc1\xe2\xdad˳\xb9\x1a\xf3\xac\xae#\xb9v\xe7\x15$\xd3#8\xfey\xb6\xf5\ry\x8e\xf3L\x12\x83\xa8\xa6\x98\x14\xe3\x15\xed\rC\x12\xb4\xd9\xe5Z\xa9\xcb\xce\xde\xcc'\xa9\xaeS\xc7q\x0fiR\x16\xbe\x871!8\xb7b\xf9\xd1@\x92\xbf_\x94\xf2\xdfO\xda[:/\v՟qXk\xa4\x06\xd8\xd3\xefôշ\xf0\xf6\x96\xaevP\xf3\x1fa\xe6\xd8\xe6\x0e\xd66\x85i\x97\xcb\x12߂\xd5ϗ\xf5f\xf3\xba\x10d\x19\x9d\x16)E\xe5\xb2b\xef\xad]\xafa\x8f2\x90\xb7\xe0\xfb\xdea]Rp+K\xf0\xcf\xc1º\xaaH\xef\t\xf5Y\xe5\xdf\xc3}v\xb4\xbf\x87:\x96\xe0\xef\f\xb5\x9f\xf0\xc7\xf3&\x9c\xef\x19\x90\xa7\xadM\x1dف5C\xe4U\xa1|\x8d\xaa\xdb\xfaVٛ;\xdf\xd8\xd0q5[q\xb2\xba\x8bS!\xf0\x10o\xe8\xea\x13+.\xaf\x17\x85\x8c\x95\x83\xba\x80\x99t\x02\x04i`\x05\x04@X\x15\xa9\xf5\x1dWM\xde\xf9\xa0\xc9\n\x8e\x1f\xb7\x98_\xac\xbc\a\xc7d\xfd\x90>\xe3lm\xab\x82\xfbv\xc0\xc1\xcazu\aD~\x8d\xdb@\xb9\xaf\xb3\xafC\xfd\x1cJ<\xa3\xfc\xed\x9c}v\x8f\xbe\xcfp\xfbe\xc7=\x86\xfdD<\xb6\xee\xc8\xe7\x1e\xee\xbd\xf21x\xc6q\xfe\x1e\xcc\x01\xf4\u007f\xe8\xf4t\xbf\a\xfb\x19\x02byjs[\x9b\xd4\\Z\x9c\xac\xf8\tf2\x95\x03\xb6\xc2YҊ\xaa7\xaf\x12\x04a\x83f\xa1\xaa\x87\xe5\xaa'q\xaf\xa0\xb6\x88\x11\xa9kv\\ºl`\xb9QGk\xf7P\xa0\xfc\xa8\xff\x16x\xa6\xb7\xdbN\x9cX\x11\xac1ʑ\xcfD\x8c3\x844Ci\x98\xd6\x06\xefz\x87\xa7\xe7k\xb0\xcay\v'\x1c\f\xf6\xb187\x8a\x18\x86\f7\xc0\x0f\xb5Z\xed\x96\x10f\xd8Q\xb5Y\xdcV\xb8\xfb\x92\xed\xee\x8e\xcf\xda\xdcm\xdf\x05\xf9\xba\xdd\xdd\xfe\xcd\xf9 \xb6\xa6\xb6\xdb@N\xda\xdc\xed\x9f\x19~\xb0GY\x01\xcb\xc1T\x98\xdb\b\x0f\xd4u0I\u007f\xc5\xd1\xda\xf9\x05\xd8\xde\x02\x13\xc4\x17'S\xf0;l\xcd\x1d_^\xdfq\xf5\xf5%\xdb\xeb~\xab\xcd\xceD\x82\x1c\x9a`\xff\xc8\x01\x9dF#\x1a\xf3\v^\xb75\xb5\xdf2\x99\xe7\xe1h\x81qj\xee\xfc\n\x8c\xfd\xad\xae&_\xae\xf2\x1e\x1c\xab\x15\x86]\x03w\x87\x1a\xf6\xf5%\xb8\x86\xb7\xb3\xfb\xb6\xa9\xed\x1b$\xd3!\xed߀{\x87=K\xf6\xe6\x8ekF\xb9\xa6\xca\xc8Ue0\x1a\xebً\x01c\xc3RƱB\xf6\xae(\xd2\xe10\xa1\x1f{\x01k\xb3\xb3/ᓸO\xc1\x9c\xf83M\x02\xf7\xb2V\xbdZĞ\x8c%\x17^\xc4\x1a\x16\xa3\xb6(\x99Q\xdf\x04b\xfc9\xa6\xe9U7\xb6U\x05\x17\"\xc7\xf9W\x11\xa9N\x98\xa9\x90{d*\u007fWq\xf4\xa8\xda\xee\x01\xed\xd2\xdb\xf3\x04\x92%6\xde->\xbfV\xd4\xc1͠\x89\xe7~)\b\xab\xb7*}\x9d\xa3\x92%\xad\x8c\x94\x83\x11\xddX̀1\xe3\x97%~\x8e\x9a\"\x96\x82CR\xc4\xfcEfBŪ7\xbe\x9e\xc7`{\x93\xbd\xb5{Wp\xe0\x8dr\xbe\xa5NF\xb3\xd8\u007f\x19\x9c\x12bk\xe9\xaasx\xfd\xbf@S,\xde\f%\x17\xee\x10u\xbcFT'p?\xd7\xf3\xbcM~\xa3Ԩ3.Ҥ/\x87-\xcfG\tUr0\x1aBE\xd3\xecT&ic.\x97ܷ\x144\xc0\x1fĠE\x16j\xa1\x03\xd2~\xf6\xb3`\x86\x9a\x9a\xa4\xc9O6?\x19\x9b\xf0xi_\xf3\xf5\xbe\x9d\x0eQ\xb6\xe6\x93\xe7%\xbcg\xaa\xaa\xea\x16a[5\xdcrQ\x04\x12b.5\xc6U\xe8\xf5\xb9\x85Z\xb5\xda)\xacJ\xbbX\xb3|\xc9!~iR\xb3z\x91\xaa]\xb3X\xe5\xd7,\xe4\xae\xd1,\xe0\xfeS\xa3\xe2n\x05F\xbb\x17\xe4!P\x04\x9e擓\xdeF+\n\xfa\x13\xf3\xaa\xedb\xf1\x05\xdb\xc5u{.\x17\xad\xf5\xee@\xb5\x1b\x8f_tx{\xde\xc6\xcag@\x8a_¦\xc8\xd6\x13-9\xe1\x14\x11\x96\xdfN\xc17s\xc7\x14+\xdb\xc7G\x98b\x9b;\xd6\x03Y\xde͊\xad\xbb\xdb\xd9M\xa3]\x9d%\xaa\x17p\xdfȱZ\xb3\x15Z\xa5*J3\xc8|\x94\xf1\xfaG\xa6L\x94\x8d\xbduz\xfd\xc31 \xc9\x01)\x85\xe4]A\x10tlAu6\x00l&\x8e7ݷ\xd3\xf9\\`\xf3\a\xc9\x17Ț@\x8fR\xe4\xc4\xec\xaa]\xa9+((ⳳk\x81\xd8\xdc@v\xff\x01Dw'ȃ\x9a8\xee),\xa2\"\xa4\xa5\x9c֮\xce\x16Q\x034\xe6[Dsq\xa9\x98S\xb6N\xcc][.\xe6VT\x89X\xf8\xbf`\xc3f6\xa7\x95\xed\xbc\x94\x95}\xab>\xda\bJ\x81Ot\xb6v3B\x84y\xef=\xd0\x12\xff\xe6\xf2\xf5\xfc\xd0\xee\xe9\xbe\x16\x03\x1f1\xce\"\xa4\xc2q2З\x91\xfc\x8b\xf3\x04XqD\xb9\"\xafj\xf0V\xc3Ms\x8f\xab\xfdJ\x11n\x12\xb1`\xfdy\x98>\U000a643a\xfcp\x90\t\x960;\xc1HR\xadV\xa7\x02\xb1\xbd(\x11\\\xffD\xfbG\xc2\xf6\x17\x8a\xef 3&a8\xa7\x10ͥ\xe8\x1b\x8ct_\x14Tl\xccЙ\xcd\xe5\xd8&P\xb38\xe1\x1a\r\xc7}\x17\x88\xf0w\xa0\xf5\xbd(\xa4%\x9f\xd2k\xb5@~%\x8c\xf0\x8a\xb6\\Ȓ\xf2\xcb\xf7\x1db\x05\xc0\xb1;\x06Z\xc1\x98\x06\xd8\x1a\xe8\xdb\xcḅH~R\x1f_Gk\xf7 #Bo\xcfK@\x86\u007f\xc4b᮶\xde/\xc0\xefۜ\x9e\xce\xdaʆ\xd6<4Æ\x9e#\xb1Qy_\"\x99P\xe7\xf9\r\x8dvt\xa5)\xb6\xba\xa9m\x03\xdcT\x0f\xaeo\xbfJ\xac8pT4\xe6扚\x05\xdcm\xc37N\xa0\x9aʬ87\xd9\xc48\x1f%xb\x925I \xb6\x02\x059\x0eL\xd4\xd4\ndۭ\xd0\"c\x89\xf8y|\xed\xe2g\t\x19*\xf3\t#\xe6\\c\xc95\xc1d\xca\x13\xb2\xb2vhR\x16\xf6\x00\t~\v\xc8\xf0a\x8c\x1a\xc5rm\x06\xb3Y\xcc-\xaf\x12\x8b6_\xc0r\xbc+.\xbfB\xb4\x1ekaQ\xf92\xe1\x81`\x04\xfd+@v\u007f\x06\xb9\x1f\xb4\xbf\xef8}\xbd78\xbc\xfe\xab\x1d\x1e\u007f\vl\x0f\xc3v/\xc8n{k\xc7E6O\xd7&\xbb\xbb\xa3\xdc\xd1\xdcn*=t(\x9d\x8b4w\x81f\x88E[\x86\xebi\x93\xa6H\b\xbeA\x82o\f\xbb\xbb\xfd\x04Fq\xe1*\xad\xc0\xb5\t}\x95?\x93\xff\xa6\xd5j\x17\u0382\a\x98\xa0\x18\x87a\u007f\xa4NW+i\x91C\x13\xa8\xb6#G\xc5\x0e\xc1\xbdP2\t$I\xd7o\x86.:\x15\xf9\x84a\x89\xdcR\xb5%\x15\xee\xb1u\xfc\xf2e\x97\xc3\x02\xfb?@;\xfc1\x90\xe2S\xfc\x8a\xa5\x1fཇ&\xd1\xc2M\xe732\xc4ޏh\xb9\x1a\xf6\az\xbaOKZ\xdf#.oϝN\x9f\xffS\x8e\x96\xeec\x0eO\xd7fkc\xa7\xa5\xac\u07b7\x92\x9b`\xb1\x01\xd9\xed$\xe7,2\x17\x14\x05s\x11\xa2~\x10\x14\x81(\x18\xc5\x05\xab\xb7\xfb\xd7w\\\xcd\x02{\xe0f\xbf{\xf8A\xe0\xb8D\xa5\x9fk\xa6\xc1b\xa9K4Z,\xb5Ƽ\xbc\xfd\xfa\\\xcb\x1e\x90\xbd\xf3@\xf6\xe8\xf3\xf3\xf7\xe16777-\x88pd\x92l\x93\"[c\xe1\x8f\xfc\xfd$\x10\x1b\x9b\xac\fEE\x05\x86<ˁyt\xed\xd8\xf53\xe4Z.7\xe5\xe7Ẁ\xc5B\x9c\\\xb8\x1b\x1b\xbd\x87{S\xd1\xe6ͫ\xb0V)\x9f\xb2\xf4\x18֍\x06\xed\xf0W\x9a\x04\xeeEa\xd5\xca!\f\x8eɷ:\xd8܁&R\xeb\xb1f\xa9\x15\x14\xf6\xce\xed\x1e\x00\"|\xc9\xe5\xeb}\b4\xc2o\xc2\x10\xd2SE}\xe6*Q\x97\x91.\xea2\xe7\x89d\xac\x14\rY\xabD!;c\xaf\x92\x1c\xe5q\x01r\xbbU\"\xc9S\x13\xee\xfa\xa1\xd5^\x1dk-R^x\t+\x96ގ\xe71\x9f\xae\x9dV\xbev\x99\xe9\x0f\a\xdfϓlm\x186\x9dF\xf2!b\xd5\x19\x83!ǪY\xb9\xe28h\x86_\x80\xb9\xe0\xff4\x89\xdc\xcb\x02!֊fA2\x01R|\x03\xd3'\x98v\xe8\xeb\xeep4\xb7_P\xd5\xe01b+\xacp\a\x85Z\x9f\xec\x0fdM\xe9]}\tD\x86\x84Y\x03eʈ\xa3\xb9\xe3F,=\x86f\x13\xec6¯Xz\x1aV\x94\xdf\x1323/`\x15&\x14\xc0\x00\x9f\xd1|\x17\x93\x01\xb9\xec\x18Vg\xd9\xd4\xf3Q\xb9l\x94\xdc\xed;\xb0\xf5*~\xf6)~\x1f\xfc\xb37\xcc\xeb\xe0\xfd\x84ۗ7\xccg}\xa3\xec;\xd4\xf1\x84;\xf6\xa0\xcf\xc2D5\xb8\xa9\xe7c\",j>\xa2\xb8~q\x12Af\x80\xbc1\xc1\xc8\xd63\x12\xc9>\x10k\x93\xa0\xbc(\xb37\xb6\xaf\xc1\t\x17\v^\x044\x91\bc\x12\xcd5\xf3\x8d2\xee\x91\xf6\xed\r\xb3\xffh\xf7\x1b\xcd\xf5\x96\xaf\x1dܫh\xb1\x81\xed\vU\x1eOj\x80@&V\xc8\xfd\xac\x1f\x91\v\xfb,b\xc5\x19\x93ɔǧ\xa7\xee擸\xeb4\x1c\xf7\x13\xf5\x02\xee9\f\xa8a&S\xbbK,\x85\xc5q@CT\x10\xa2\xc7\xff:\x1c\xfb\xc3@\x88_\xb3{\xbb[\x1d\xad]\x1b\xaa\x8e{VG: 4\x85*}\x81\xd2\xf9\x11!\x12f7\x94\x0f\xaa\xddݶ\xd5\xe9\xed\xfe\x03F\xbfV\u05fbY\x81_\f\xd3V\xab\xb8\xbfh\x12\xb9\x8f\xb3z\xb0A\xab@\x05aN\xbas\\\x8e\xd4u\xba\xdb\xed\xf6\xa6\xf6Oc\xa9+[S\xdb\xc7\xe6\x8b\xe0\xf9\xc25\xfa\x94\xad\xd9W&\r\x88\\\xba\vM\xad6E\xd0\xcexKҝ\x96̵n\xa5y4\x96\u05ce\x95:lj\xef\xb05\xb7\u007f\xc2\xe6n\xff輹v\xee\xf6\x8f൳\xbaێ\r?scӨ\x82\x83k\xce\xf9\xac\b\xfb˫\xae\x16\x04\xb5\xbaF\xb3P\xe5\a\r\xf1.VqfŲS\x06\x93\x99U\x9cA\x1f\"\x16\xedƀ\x9a@T)\x16\xee\xeey\x03\b\xf1Q\xd8~\xdd\xd9\xda\xed\x85\xfbl\xa3\xb5\xa9);Ҝ\x11 \xc1\x93\xf1\xe4\x0f$\xcc\x0fH\x95u\xe4\x1f\xb1a\xa8\xc3\xe3\u007f\b\vNc\x98\xf6\xdaݗ\x89y\x95V\xb9\x1e\xec#\x9a\xa5\t\xd7\x02a\xda,uu\xc1\xfe*\x95\x94F\x12\xcfMV\aq\x8aT\x1b1\x0e2\x91i\xb5\xdaf\x89\xe0\xc6ej\x05\x82\xed\x97H\xf6=\xd0&\xe5\xd6?\xaaX\xdfgt\xe1F\x9a\x9e#\xfc\x8d-\x80\x14\xcf\xd39\xc8ݸ1\r\x9fC!-\xb9I\xaa>\xf3\x88f\xb1\xeaM\x9d\xc0\xb3\xa4\xfb\xa2\xf3/\fT\x9c9\xd6,:[\xbb\x86}\x88\xf0\\\xff\tS,\x1c^\u007f\xa7\xbd\xa5sK\xf5\x91F!\xdc\xf1\xb0|¾\xbeD\x8a\x12%\x10\xb8\x91\x01=\x8c,\x9b\xda\\\xacx\xba\xb7\xe75,\xfe\x8bMF1\xb4\x1b+^\b\x19\xe9\"<\x94\u007fᓸ/\xf2\x99\x99u9\xa5\xa5\xd9a\x1ev\xa5\x9f$&\x0f\x19[\xc5JN\xffy%u\x01\xdfNPe%\x99$\xbf5A\u007fd\xa0V\xab^\xffmŵ\x9b\x94Eμ\xbcv\x8ak\x18\x82\fY\x11\xefH\xcf\b.H\xe1\xfaX\x84U\xab\xf6\xa9\x17\xa9\xfe\v\x9e\xbd_H~\xc4!Sa\x11\xab>S\xb6k\x0fk\x9fg\x97Z;\x01\tb\xca\xc5?\xb0!0h\x89\x1f\xb1{:\xb7\xa3\x0f\x91\xe3BG\xb4\xa2\xb9\x14\xef\xaf\xe1{\x8c\x165\x04BhSJp\x9b\"W\xbdo%\xd69dݷ\xb1٨\xb7\x87\xf9/\xd6^z\x809\xf9\xf509k\x96\xc4\xff[\x1d\xc7\xfd\x9c_\xac\xbaZX\xbdz}\xa1m\xeb\x8a0_\xb1@Q\xba\x8aV\xa6\xb1A<\x90\xdc\xdf$Mp\xc4\xc4|L\xbd\xc0B\xdd#\xfc\x88LSd9\x88\xbfdM\xda[\xbb\xf7;\x9a:\v1\xd1?\x92\xf5H\xf6!\x92\xff\x90@\x18\x87i,\x90\x8b4\xb2\xc0/:\xef\x910]^\xac\x88\xe1\u007f\x81\xadX[:Y)\xa9\x92ڋ\xc5\xdcu\x95\"\xb6\xa1\xd1$r/b\x15~\xec٦\xe7\xf9\x8d\x98s\x15R+\x84\xd53\x91\xe6\xf8\xc9\x11\xff\xe3y>\u007f\x82\x91\xacr\x19\xba?(&J*\xd7\x15{R\f\xe9\xe3\xb5lْ\xaa5\x1a+5)\x8b\x8f\xc33\xf3%\xacV\xc3/M`fӜ\x11f\xd3\x16\x85\xd9\x14[:a\xa1\xee\xde\xdb\x1c\x9e\xce\x16G\xa3\xcf\x01d\xb72\xb4\xf2ާ:LJH\x84H Ė0\x03u\x0eG\x12f\xe1\u07bd+l\xcd\xed\xe7c\xe5\fL\x1cvx\xfc\xef\xa3Y\x16k.b\xd9;,>\x8c\xbe\x11\x894_\xc6^n\xd8\xfd[P\xabw\x1a\xcb\xca\fa\xbe-\xceu\xd6\xfc4y\xbe\xcd9\x009\x87\x11\xc8\xed\n\x89\xe4\xc6\x1b\xd5: \xe5F\xb60-&\xa8\x87\x1e!*\x8c\xa8k\xea\n\x93_\x8cZ\x9b\xb9\xb00W\xeeo\xb8\x9a\xe3~\nZ\xe2\xf3B\xc6\xca!SA\x91X\xb0~\x13si\u0893\xf58\xf4\xb2\xa8\xe63\xf0\\=\x05\xa4x\xb7\xa3\xd5\u007f\xb5\xcd\xddY\xeb8ڤ\v\xfd\\\x04\x9eUE]Rzv\b\x84\xa9D\xa4\xdej\xe8ﰷt^\xe6\xf4\xf5|\t\x1e\xe8ǥz\x8c\x8c41\xe7\n5M\x8c\xb0C\xb3\x1e\xbfl\xc1;@\x9a\x8f\xa9\x17p_\xe7S\x93[\xb0\x85Wnyy\xa4j\x1cg}7gk`\xce\xeb\t@\x0e\xdaA?\xa2Tku<$9(\x99i_\x05\x92\\NZdԄ\xa8\xec\x89\x18v\xbct\x15\x15\x19\xa0\xe9o\xe4W,\xe9\xd0\xc4s'5\x1c\xf7\x04\x9f\xb2\xe8=\xb9\xbf\xe1p\xb4\xa9\x94\xa0\x8f\xe9\x17\x0eoϫζ\xde_\x81\xb6x=K\xce?\xd1V\x84-\xa4B\xed_\xf6#\xd6\xc9\xc15D\x8a\x04\u008cQ/\xe3F鹦r4\xb4\xe6\xc1C\u007f9\xf6nc!\xe6^\xff;\xcc<\xdb\xdc\xc1\xdaڔ\xd5\xedc\x01\a\xe6\xa2\x12Q\xc8\xca\x10\xb1 2L\"\xbf\xd6,\xe0n\x14R\x96\x1d\x85I\xbb\x02+\x81D4eI>N\xa6Uͯ\x953\x1bs\xb5Z\xbd\b\b\xeeY\x89\xe8\x06'\x90\x1by\xadR;%\x04\xddg\x92\xc9T\xea\xc1\x1a\xd2-`\xac\xa9I\x86\xf7\xac\x11\x96/;\f\xf7\xf0ͬ\xf5Ӣ\xb8\u007f\xa1%\xc5\\Z&\x16\x9dw\x81\xb8\xf6\x92\xfd,\xbdJ\xaegʞ\t\\Pz\xfd\xb7\xc3\xcf\x1e\xf8\xbd\xc3\x15\xa8a\x1av\x91J~D\x02a6\xae\xac\xe5\x06\xc0R}\xc5Po\x82\xc9\xc1`ww\xec\x82\xc9\xe0S\xa0m\xfe\xcc\xe5\xeb\xf9\xa7C\xea\xfdfo\xf4\x89\x95\a\xeb\xc5ҋ\xeaX1\x03\x93\xa5@ĒX@\x9c/\xafF\xe2Tq7iR\x16\x9f\x00\xe2t\x1a+\\\xea\xbe\xf0\xe1\xe8qX~K\xe1眓\x13\x89l\x12\xc5\xf1\x90\bR\x1cG~䠔\xfe\xf1.\xec'S\xa1\xb1\x13)J\xa4\x18\xae3\x0ejo\xe6²\\>3}\x17\xe6\x10\x03!ާ\x8e\xe7\x9e\x13\xd2\xd3\x06M\xf9\x96@՚\x1d\x97\x88\x95\x87\x8e\x8bvw\x9b\xdc\xe6\xa9\x1f\xee\xfbgA\xfe\xc7\xd9\xea\xff\xb8\xa3\xb5\xe3b)\xda4Ԙ\xc7\r\xd7+E2\xa4>\x87\x04\xc2\xdc\x03>\xdc\xe8\x1b\t\x8e\x96\x95\x81Ŏ\xedM\xedVG\xab\xbf\x11&\x8e\xaf:\xdbz\x1fv\xfa\xfco\xc8=\xe3\xb0$\x16\x9ai\xb1D\x16N:\x18ꎝ\xc75\v\xb9\xd7A\xe3|\x14&\xa6\xdb5K\x17\xf6\bj\xf5\x0ec~\xb1\xc5\xe2\xaa[\x1ai\xe2s\x8d\xf4u\xca\xc1\v\xb3\xd2\xe7)G\x9f\x02\xb9}|\x02\xfeH9\xed\xe3\x93LK\x99\xc1E\xed'mq\x17\x85\x1f\x91-J**\xd40\xd6[\xf8\x94E]p\xef\xa1\xd9\xf4\xcf\xf0\xfa}\x033\x9bZ\x03\x85\xbe/S$\xe9{Y\x92\xfe\xeb \x0f:|=7\xdb[\xbb\x8eV7\xf8֕\xd5ե\x84\xd3\x10\x87\xf3\x11\x89\f\t\x84y\b\xa9eW\xa0\xa7\xdb-aC߱;\tV\xfc@\xd3\x13\xab\x00\xe2\xedy\x14\xd3N\x1cR\xdf9\xa6q\xc2\xea\xbcl\xd7^֒\a[\xf3\xe8a\xc2\xe7W,\xf9\x00\xb4ͧ18\b\xb4\xcf\x1b\xf9\xb4d\xb7\x9e\xe77\xe5\x14\x15\xe9B\x14=8\x87@%\xe2\f\xf6y\xce\xd4(\xc0aM\x1d\x88\xee\x11\x89$\xc7\xda\xf9C.\x1e\xf0&\x96\xb4\x9b\xe3Z\xa4\x94\x8f\xe8R\xe6#Fh\aU\x95*\bB5K\xd2_\xc0}\x955\n^\x14\xf7:\x9aMs֬e}\x11\x99\xd9\xf4\n\xf7\xd9\xce\x17\x8a$}\xb8w\xdbY՚\xc3a\xab\xd6\xc4\xc99\xafl\x01II\xfa\x04\x02\xe1\x1c(\xfa\xbe\x8dV\xcd\xc3\xdaԑ\xedl\xeeX\xefl\xe9nƠ \x97\xb7\xf7\xff@\xe3|\x91\xb5\xe4\xf1\x04|\x9c\xd6\xfaf\xb1|\xdfa\x16\x1c\xc4̵\x85ŢV\xa3\x16\xf9\xe4\xa4w0\xc7\f\xcda0\xe1}NHNj\xd4ego\xd6\xe7噀<\x97F1\xb9&\xa0\x1fJ\xf6{*\x9a\x1eO\x1by\xcaZ$\x16\xa9VF\xa8\x8e\xb1g\xa4\\\x82\xaeg\x0ej\x91\xc1%\xdc\u009e[٦M)8\x8e\x9a\xe5\xcb\x0e\xc1\xfd\xf1y\r\xb6\x83J\xc2\xee\x17\x19\xccr\x11\x886\xbdT\xac:|\x9c\x05\xa0I}\x11\xcf\xc0\xe2\xed\x19\x90\x1f\x019~\xdc\xd1\xda-\x9bM\xe3C\xdf\xea}*\xeaoH \x10&\xbeڗ\xfc\x9a\xcaڐ\xe1\xde\\uē\xca:\x93\xb7t\x1epz\xbb\xaf\xc3V=\xac\xab\xb9\xd7\xffְ\xd6\xe9n\x17\xab\x8f6\xb1\x1c34\x87Y\xec\xebY\x90\x90\x8e\u05c8\xfc\xf2\xc5\xef\x83\xe6\xf9\x0f \xcf\xfbA\xbe\xcc/Tu\xf3\x99\xe9u\xfa\x9c\x9c\xb5yv{VPU\x9b\x90ڧ\xec\xfbT\x90\xe7T\xf9?\xe5z\xad}\xe3,E'k\x91\xcfdgg/\x96\xf69\x9bI\xf2\xac\x0f\xb1,|\x82~\xc9E\x17-7\xe4\xe6\x96\xf1i\xcb\x0fh\x12\xb8\xcf2\xabC<\xf7\xbc\xb0*mЈ~D\xb8?\xd0'\x8e&~\xb4XH\x84\x889\x89\xaf\xb0\x85\x99\xd7\u007f\x93\xa3\xa5\xfb\b\xd6ε\x1e>\xbc,\xd4w\x9c\xbdw\xeb('\x91@ L\xad\xd6)\xf7\x9e\vk&\x03\xb2\xb2\x9d\xf0\xe8m\xee\xb6MNOW\x83\xc3\xdb\xf39\xa7\xb7\xf7\xc7@\x9eO\u0084\xf7n\xc0\xd7\xe9g\xf9g\x18a\x88\x9a'v@(X\u007f\x1e3ۢ\u007f\x89OO\x1dP'q\xaf\xc2\x04\xfa\a\x90{\xf9\x05\xdc\r|jr\xabN\xa3\xd9f\xb2XJX\xb4\xed\xe8>#\xa6\x81\xbaF\x96\x1b\x8b\x95\x1fT\xfe\x9c\nH\xee\xf1q\x96\xa2\x1b\x90>\xb7\x1fw4K\xf2\"\x95\xbd\x11\x95\xe9\x17!\x81\x15\x9ftfs\xb9\x90\x91~X\xbd\x80\xc32n\xff\xabVq\xcf\xf1+W\xf4\x1bs\xf3\xc4|\x9b3P\xb5f\xffё~Doϛ._\xef#p\xcf\xdc\n\x8b\xaffXh9\xd7\x1dl\xc8\f\xa7!\x8e\xe8\x87H \x10\b3e\u0094Is\xd8\xc7\x19\x81\xb8\xcajk\x17W\u05f7\x1b\xd0O\xe4\xf2\xf4\x1cwx\xfc\xff\x05\x93\xe1\u007fK\x9a\xe7\x1b\x8e֮!F\x9e-\x9d\xac>m\xe5\xc1c\xe2ں}b\xf1\x05\xdbX+!s1h\x9fZ\xad(\xa4%\x9f\xd2$r/I\x04\xfaCM\x12w\x93\x90\xb2\xa4\x1d#\x1cA3[g,*Rck\xa21L\xfa\xf1\x9c\xc2\x17\xca\xe4\xacF\x1a\xce'\xcaLu\x8a\xa8\xd6\xc11F\xb5\x9e\x91r*\u007f\xae\xd8\xdfL\xd1tΒ\xa0k\xf4z\xa620\x17\x11\x161vmڊ\x13pMn\x96ꚾ\xc0\xdaAI\x84\x88f\xf8@`Mk\xa0j\x8d\x87\xd56}\x1b\xee\x83ǝ>\xff\xb7я\xe8l\xe98o]C\x83&\xdcx\xc89\xc2x\xdf\x11)\x12\b\x84Y\xa7m\xa2y6D?\xbbHH\xc02{\xceֶ*\xbb\u05cfE\x10>\x02\x93淜\xbe\xde\a\x80<\x9f\xc3`\f\xd9t\xebhn\x17\xad\xc7[Ċ\xcb\xeb%\x02\xdd\xce|\x9f\x98\xff\xa67\x18Ea\xd5\xca\x01,%\xa6Qq\u007f\xd7\x04RV\xbe\xadN\xe4>\xa9II:\xc1g\xac\xacE\xbf\x97a\xdd:M\xb8\xa4\xf0HD*\xb7#C\xc9\xc8\xc8X\"\x91\xe4W\xc6aj\x1d&S,\x96\xcd&\xfe\xe9\xf3E\xaad\xbf\xa1\"\xff0\xe2\xb1\xe0\xd8\xe9rrrp<\xf9%\t]\xa0\x19~\x13\xc6\xfaa\x96\x8b\x98\x95)\x9a\n\n\xd95\t\xf4G\x944DF\x88LK|\v\xae\xef\x1f\xe1\xfa\x9e\x84\x9f\xfd\xd80\xb8\xba\xd1\x17\xb6\xfbE\xb0ϼ\x8f\xfc\x88\x04\x02a.j\x9cL\xc3\f\xf2uF3\xe9U\xecs'[Ot\xe48\xdc\xed\x9b\x1d-\xddǰ\xf4\x1e\x90\xe7\x1d0\xd1\xfe\xd6\xe9\xed}\x0eͷRsڀ\x06\xda\xe0a\x1d\x18\xca\xf7\x1eb)+؋\x13+\xaa`\x00\x11+\x1c\xbe*m@\xb3$\xfeMu\x1c\xf7\x14h:\xbf\x01\xb9\x13&\xf9\xcf\xf1KT\x9d|\xda\xf2\xfd\x18\x89\xab/,,̱Z\xb3\x8b\xf6G&R\xac\x8c\x03D\xf7\xee8r#Y\xb0\x0e|\xfe*\xa6aOn\x11\xf3\xb3\xed\x9e\xe0{\x86\xc90\x8af\xdd@L\x8b\xb1l!\x8e\x89&yq#\x8e\x13\x90\xe1Oч\x8cQ\xcc\x18͌\xe6q\x8cn\xc6\x12n,\x17\x91\xf9\x10\xe5\xfe\x88\xfe7\xe0:=\xc64D\xaf\xbf\xdb\xee\xee\xdc\xeahjӅ\xd3HɏH \x10\b\x114Pf\xba\xad\v\xb42\x8a\"`\x87+9xp\xb9\xf5DK\x0eL\xbc\x1bl\x9e\xeeCL\x03m\xeb\xbd\rH\xf4g\xa0\xa9<\x81\xad\xc5\x02\x11\x90~I\v\xed8K\xa2\xfb\x0e\xb1$s,Z\x8dZ\x0fN\xf6\xc6\xdc\\VߖO]\xfa\xa1&\x89{\r\b\xf4o\xacZ\v\xc7ݣ\x8e羨Y\x9cp\x8d\x90\x96\xdc \xa8\xb3\xf7\xea\xd4\xea\" \xdd\xeb\xc6Q\x86\xee\xb4\xe4\x87\xfc\xad\xe2T\xe2\xb9P&\xdfq\n7\xb2\xde\xee\xa8`\xfd\x10aa\xa0\xe3\xf9ZMj\xb2G\x13\xcfݼ\x9a\xe3~\x02\xe7\xfe$\xbft\xc1۬R\r,2\x98v\x88\xe6R\x18;+V\xab\x81\xf1d\x95\x9b<݃0\xf6/3\xcd\xdf\xd7\xf3%\x87\xc7\xdfbswm\x92\xfa#\x86$b\xa5o\x9b\xb4C\x02\x81@\x18\xa7\x16$\xb7\f\x93\xfb\xeb\xa1\xdf3\x9aI\x15\xb5%{}kVuC{\x89\xad\xa5\xfbB\xf4\x81\xc2\x04~-\xcb\xf9D\x12e~ОW`\x92\xffpؔ\xdb\xda\xc5\xd2\v\xb09.jE\xeb\xf6\x1e\x14\xd7\\|\x89X\\\xb3M\xb4\xb86\x89\xb9\xe5U,\x1d\x015RYƨA\x0eb\xadP\x9d\xc10\xa0\xcbϷ\a\xd6\x06\x93K\x10Xu\xa9\xd0f[a,(0`\xce!F\x0e\v˗\xf8\xf8$\xee\x06M\x1cw7\x16\x83\xc0~\x88\xb80\xd0\t\x82h..\x052\xdc\xc0\xa2\x901\x1a\x19\xcb\x16\x06R.\xe4z\xa6\xfe\xb7a\xec\xfe\xe2\xf2\xf5\xde\v\xe3w\x1d\xd64u\xb6\xf8֕\x1e:\x94\x1e\xf6\x18\xb0\x8bM\x1f\xe5#\x12\b\x04\xc2\xd4@j\x1f\xa6\xac\x9f\xc9\"\x1b\xb1\f_\xf4\x13p\x82\xfd\x90;\xdd\xee\xf6\xe5c\xee'\x16\x84\xc7\x0e\xf1\xac\a\xa0\xcf\u007f\x17\x10\xc1\xafA+}\x82\xf5\x06D\x9f\xa8\xe4S\x93\xb7\xa5\xa0\x85\n\xab҆t\x01\xad0*A\x8dSHM9\xadI\xe4\xde\x06b\xfa\x9b:\x8e\xfb\v&\xc8c\x80\vkg\x86\x15dT\xdc\xd7@\x93\xbb\t\xfe\xfe\x9f\x9a\x85ܵ\xea\x85\xdcU\xfc\"U\xa7fI\x82\x8f_\x92\xd4\"$'5i\x92\x93\x1aQ\xf8\xe4$7\xbfdA\xabz\x91\xaa\x1d\xde{\xa5:\x91\xfb\x04h\xbc7\xc0>nC\xed\x97\xf9d\xe3\xb8?c\xbb4Mʢw\x85\xac\x8c!$is\xc9\x1a1\xdf\xe6\x12\x8bϯe\xc5 \xb0\x1f\".\f0\xda8p\x8eH\x88\x8c\f\x9f\x04\xf9)ȍX\x8d\t\x03\xae*\x8f\xb7j#\x99\x87\xfb\x14>ijѦT\xb9\x86@ \x10f\x8c\xf6)\xfb?9\xc9\xff\x89\x81D#\xeaoFYn\fɠ\xac\u07b7\x12}\xa2Nw\xbb\xdd\xd1ܹ;\x10\x95\xdb\xf3\x89\xdcj\xc7;ڬ\f\xd4\n\xa3+f\xae\xd7\x0f`P\vj\xa5\xd8~\xa9\xfc\xb2\xc3\xe2\xbaK\x0f0_^\xe9\xf6:\xb1x\xebEbі\vł\x8d[D\x8bs##\xb1\xbcJ+\xeb\v\x8am\xcerJ\xd72-\x0f\xf3Kѿ\x8a\x82\xaf\x91\xf0\xd0T\x8c\xefC\xdf+\x9aD\va\x1f\x18\x11\xbcf\xc7n\xf6\x1d\x15\x97_!V_\xd1$\xda\x1b\xbdRAoI+\xf4\xf8\xdf\a\xad\xfa\x05g[\xcfð\xbd\xcb\xe1\xed\xf94\xfc\xfd\x18\x9a\xaf\xd1wh\xac\xa9I\x1a\x8d\fC\xd44%B$\x10\b\x849\x01E\x10\x91\xec\v\xc5\xedh\xad\x8e\x96r\xdcz\xdd\xeal$\xbe!\x9dV;\x18\x8d\x06\x89A.z\x83\xe15k\x83\xe7\a\xebۮ\xfaM \xa0\xa5\xe7o\x8c\xa4\xbc=\xff\x02\x82z\x1b[\x9a\x01y\xf5\a\x8a\xcdw\x9f\r\x80\x91|\xaa\xe1\xe5\xec{\x1c\x01mw\x00\xb5_\xd8\xff\xab \u007f\x87\xef\xf8\xad\xcb\xd7\xf3C\xe6/\xf4\xfa\xaf\x86\xbf\x1f\xc64\vԢ\xcb\x0f\x1cH\x1bm\x8c\xe4\xb1!\xff!\x81@ \x10\x865R\xa5\xe9\x90\xf9\xd3n\xb9e\x01\xe6_\xea\xcd9\u007f5\x98LQ\xa5}\xe8\xf5g\v\x9e\xeb\xcdf\x9bb\xff\xf1\x987Zu\xe4H*\xd6\x16\xc5\xce,\xd6F\x8f\xc5\xdaԱ\xd6\xd6\xd2i\xb3y\xba6\xa1/\x15K\xad\xd9=\xfeK\x99\xef\xcf\xd3}\b\vt;\xbd\xddW\xa0\x00!\x1e\x81\x9f\x0f\x82F\xb8\xd7\xee\xed\xdaio\xed\xdcjk\xedrٚ\xbb\xcal\x8d^3&\xdfG\x9d\xea\"\x95l;\xeb\xfb\xa5\xc4|\x02\x81@ D\x0f\x16m\xab\xd5j\x8f\x1b\xa3\xaf\xae\x83Zf?F\xb3\xc2\xe7\x8e)\xf73=\x8as\x9f*؏;V\x134\x81@ \x10\b\xc1`&F\xbd^\x9f\x02\xa4\xf7/)\xaau \xda|H\xd8^\xcf\xf6\x82\x05\x03dB\x92\xf3\x00%\xe9S䐞\x95\x93\xf1\x18\x8c$\xfb\xfe\"\t\xbe\x8f\xbd_\xfal\x9fr\xff\x8c\x00\xc9_H \x10\b\x84I\x80\x94x\x8f$y\xf3\x18\xdaa\xc9\x04yo0\xd9\x12\b\x04\x02\x810' \x17\x1dW\xd4h\x8d&7\xf2\x94db}\x94;\x9bLO\xfe=\x02\x81@ \xcc)0b\xc3ڦ@|OD\xa9E~(\xbd\xefi\x9e\xe7W\xe0\xe7'\xb9\xec\x1c\x81@ \x10\bS\x0f\xb9\xe88\x10\xde\xe7$\xd3\xe9\xa9h4Hؾ\n[\xecb1l\xaa%\x10\b\x04\x02a\xce@\xe1\x87\xdc)\x11\xdfh\xad\xb0NK\xe6\xd87ak\"\x82$\x10\b\x04\u009c&H G#\x90\xde\aQD\xb3\x9e\x92\xde\xf3\x16\xcf\xf3\xf9\xf8\xd9Y\xd2@\x99@ \x10\b\x84\xb1\x13\xa4V\xab]\b\xa4\xf7\xd7(\xfc\x90\xb2\x0f\xf2߂ \xe4\x91\x06I \x10\b\x849\te\xe3c ɟ\x19F/\x1a \xfb _\x06\xcd\xd1@\x04I \x10\b\x84\xb9\x8a\xe1\x14\r \xbd\xefJ\x81:\xd1\x10\xe4\xdf5\x1aM6~\x8eL\xac\x04\x02\x81@\x98sP\xa6h\x00\xe9}}\x14\x82\x1cT\x14\nx\b\xb6ɤA\x12\b\x04\x02aNB\xa9\xfd\x01\xe9}G\"\xbf3\xa1\"Y\xb1\x9b\a\xd6b\xc5\xf7\xc0\xeb\xefsR\x997\"H\x02\x81@ \xcc9`p\x8eL\x94@~?Uh\x90\xa1R=X\xf0\x8eTI糡\xb4P\x02\x81@ \x10\xe6\x02Tr\x90\x8e\x94\xe6\xf1\x97Q\x82tX\x0e$\nv\x01Q\xec\x87J\xcd\x11\b\x04\x02a\xce .\xc8\xff\xb8\x1b\xf3 %\x82<\x15\xce\xff(\xa7x`\xfdV\xe9\xa3H\xb0T\xac\x9c@ \x10\bs\x03\x92ߐ\x11\x9bZ\xad^\x04\xa4\xf7E$?\xa9\b\xc0\xe90\xe6\xd5\x01\xc9\x04\xfb\x00\x10d\xa6b?\xd4r\x8a@ \x10\bs\x02\tJ\xed\x11\xc8n;\x90\u07b3\x12\xf9\r\x84\xa9\xa4\xc3̫\x92\x06y}\x10\xd1\x12\b\x04\x02\x810\x8c\xd9ج\x17\x8f7^Y\x1c\x00Ȯ\b\xe4n\x85\xf6\x18Ѽ\n\xefy\x17^\xd7ɟW\xee\x8b@ \x10\b\x04\xa6\x85I\x84\xc3\x02]$\xa2\x88\x9f\xa1\xa4)\a\xe3\x8c 3\xd0\x1csA\xbe\x8a\x11\xab\x8aB\xe5\xc1e\xe6\x86\xe4\xdfI\x1a\xe6/\xe5.\x1e\x92\x16J\x01:\x04\x02\x81@8\xab\x89\x8dbZ\x8cǴ\t\xe9=\t\xd3H\x9a\xf1x\f\xa1\x8e\x15\x88\xce\x01\xda\xe0\xb7\x15\xe4(\xfb\x19\a\x83\br@\x11\x9c\x83\xd2#\xef\x83\xfc\x8f\x04\x02\x81@\b\xa7\x91qX\xb0\x1b\x88\xe6\u007f\x808n\x01م\xe9\x12\xe1H\x035.$\x15\x85\xe6\x15kra&T\xf9{Biwp\xacf\x10/\x1c\xeb\xc3\n\x9f\"J\u007f\br\x1c\x0eؑ\xb4\xc7\xc7\xe03k\x95\x04L\xb7\x02\x81@ \x10F\x10\x9d\x82p\xf6\x02q\xbc\x8f\x04\x82d#\x11\xce\xfb \xbf\a\xf92\xe6\v\x82T\xf0<\xbfb4\xd2EmS6\xd7*L\xa2\xf1a$\xf8\xbda\t7;;{1\x10y\x15\x1c\x8f\x1f\xe4~\xec\xc8!\x1f\xaf\xec_\fS\x18\x80\x99\\e\x12\x85s\xed#\xed\x91@ \x10\ba\xb54\xa5\xc9\x12H\xe3fE\x80\xcb\aR\x90ˀ\xac\x9d)H\x13\xe5\x15\xf8\xfdo\x908a\xeb\x01ҪA? \xbcN\x89\xe5\x01\"!b3c\x90\v\xe1\xbbz1\b\a\xa3T\xe5*8\x8a\xe3=\x13\x81\x1cѴzF\xa1e\xfe\n\x03z\x82\b\x92@ \x10\b\x84a\xc4K\x9a\x1d3W\x02i\xfcA\x91\x1eѯ\fn\x91j\x97\x9e\x91s\b%-l\x04qJD\x85\x04\xf5\x1a\xc8\x1fA\xee\x83\xdf\xdd\nr\x1d\xbcn\x83\xedaL\xe2\x97\xc8n3l7\xc1\xf6< \xd6\xf31=\x035X\x90\x13\xe8\x1b\x04\xb9\x01~w\x17l\u007f\v\xf2\"~g\x88\xef\x12\x15\xc75\x10\" GޞR\x94\x95{\x1d^\xd7\xcb\x03\xa0\xd0X\t\x04\x02\x81@\b \xa8\xfa\xcce\x8a\x00\x96p\x9aX0\x01\rI\xa6K\x99P\xfb\x95\xe4)\x13(\x92\xae,J\x92\x93\x89.\xf8w\xa1\xde/\x13\xa2\xfc]\x121\x0e*\x8e#\xdcq\x9e\x91\xc9U\xfa\xf9F\xb5Z\x9d*k\xd0\\P4,\x81@ \x10\bJ\xd3b\\\x14\xd5g\xc6#\x83\n\r\xef\xb4B\xce(\xc8t@A\xb2\x03a\xde\u007f:B\xe0M$\x02gd\xaa0\r\xdf+\bBi\x88\xf3'\x10\b\x04\x02a\x18r\x80\f\xcb!\x04\xf2x<\x8cyu\xaad(\n\xad5jb\x96\xd3<\x14\xe4\xf8 \x9as\x95\xda3\x15\x06 \x10\b\x04\xc29P\xf6N\x04\x82\xbc\\ִ\xa24\xaf\xced\x19\x94|\x8eC\n\xf3\xec\xa3 ;\x15\xa7/\x177\xa7\xc8U\x02\x81@ \x84%\xc8x\x8cD\rJ\xb0\x9f\xed\xe48췔\"mw)ɑ\x9bނ\a\x04\x02\x81@\x98\xc1\xc0<\xc5x\x89(-\xa0A\xfeI2\xaf\xf6\x87)\xee=\xd3eH\x99\xca!\x9d\v\xca\x0f1BVy\xe2\xe4w$\x10\b\x04BX\x04\xe5>\x1eV\x98WO\xcd2\xf3\xea\xa0\"\xe0G\x99\xa7\xf9&\x10\xe3M %!\xb4f\xea\xf7H \x10\b\x84\x90\x88\x93ͫ\xe8\x87\xc3\x83\xc5ձ\xd4]FF\xc6\x12\xe5\x89J\xa6d\xd2\x1a\t\x04\x02\x81\x10\xb5\x06\xc9!\x99\x00\xb1ܦ(\xf2\xfd\xfe\f\xf0?\x0e)\xf20\xcf(\x8b\x03(+\xeeH\xef\xfb\x03ȧ\xe1\xe7\r\xc1Ĩ\xe8\x00BZ#\x81@ \x10\xa2\x06#\r\xecȁ\xc9\xf3&\x93I\x99\x12\xa1\xec\x88q*LO\xc5\xc9 C\xf9\xfbN\x87\xab\xf3*\x1d\xc7ߥ\xbe\x8f\xf5X\xdc \x14\xf9K\xbeF*\x00@ \x10\b\x84\xf1\x03\x83u\xa4\x9e\x8a\x17\x03\xe9|\x1e\xe4\x11\xd4$e\x13f\x88\xa2\xe0\xc1\xa5\xdf\x06\x82\xb4\xce\xe0\xfa\xacJm\xf0t\x10\x11\x9e\xa3\x1d*\xeb\xafJ\xfb{\x15\xe4\xff0\"U\x8a\xb6-R֏\x95\x11\xe4g$\xad\x91@ \x10\b\xb1\xd1&C\x10\xa7\x01I\x13\x88\xe9\xe3ؑ\x03\xe49\xd9W\x19\xa1\x88\xf8\b\x915\xd2`M0\xb8\x10\xb9\xf4y$\xcbW$\x82\xbe\x03\xe4Z\x90\x03\xd8{\x12ޗ\x1e\xea\x18\x91\x14\xc35R&\x10\b\x04\x02!fD\x89\x9a\x19j\x94\xe1\xea\x93\x02\x19-\x15\x04!\x0f\x88\xab\x16ćZ\x1d\x16\xff\x96\xd2*0\x82\xf4-E\xe1\xf13\x92O\x13[K=\x8f\x91\xb2\x12\xf9\xfd\x02\xe4\a\xf0ٯ\x001~\x12\xfbH\xc2\xebK\xe0w\x0e\xd4dGkČdž\xc7H\xc4H \x10\xe63\xfe?\x0f$\x10\x1e\x98\x93\xf7+\x00\x00\x00\x00IEND\xaeB`\x82"), -} diff --git a/playground/fyne_demo/data/icons.go b/playground/fyne_demo/data/icons.go deleted file mode 100644 index 5221f1b..0000000 --- a/playground/fyne_demo/data/icons.go +++ /dev/null @@ -1,43 +0,0 @@ -package data - -//go:generate fyne bundle -package data -o bundled.go assets - -import ( - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/theme" -) - -// ThemedResource is a resource wrapper that will return an appropriate resource -// for the currently selected theme. -type ThemedResource struct { - dark, light fyne.Resource -} - -func isLight() bool { - r, g, b, _ := theme.ForegroundColor().RGBA() - return r < 0xaaaa && g < 0xaaaa && b < 0xaaaa -} - -// Name returns the underlying resource name (used for caching) -func (res *ThemedResource) Name() string { - if isLight() { - return res.light.Name() - } - return res.dark.Name() -} - -// Content returns the underlying content of the correct resource for the current theme -func (res *ThemedResource) Content() []byte { - if isLight() { - return res.light.Content() - } - return res.dark.Content() -} - -// NewThemedResource creates a resource that adapts to the current theme setting. -func NewThemedResource(dark, light fyne.Resource) *ThemedResource { - return &ThemedResource{dark, light} -} - -// FyneScene contains the full fyne logo with background design -var FyneScene = NewThemedResource(resourceFynescenedarkPng, resourceFynescenelightPng) diff --git a/playground/fyne_demo/main.go b/playground/fyne_demo/main.go deleted file mode 100644 index c29de48..0000000 --- a/playground/fyne_demo/main.go +++ /dev/null @@ -1,203 +0,0 @@ -// Package main provides various examples of Fyne API capabilities. -package main - -import ( - "fmt" - "log" - "net/url" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/app" - "fyne.io/fyne/v2/cmd/fyne_demo/tutorials" - "fyne.io/fyne/v2/cmd/fyne_settings/settings" - "fyne.io/fyne/v2/container" - "fyne.io/fyne/v2/layout" - "fyne.io/fyne/v2/theme" - "fyne.io/fyne/v2/widget" -) - -const preferenceCurrentTutorial = "currentTutorial" - -var topWindow fyne.Window - -func main() { - a := app.NewWithID("io.fyne.demo") - a.SetIcon(theme.FyneLogo()) - logLifecycle(a) - w := a.NewWindow("Fyne Demo") - topWindow = w - - w.SetMainMenu(makeMenu(a, w)) - w.SetMaster() - - content := container.NewMax() - title := widget.NewLabel("Component name") - intro := widget.NewLabel("An introduction would probably go\nhere, as well as a") - intro.Wrapping = fyne.TextWrapWord - setTutorial := func(t tutorials.Tutorial) { - if fyne.CurrentDevice().IsMobile() { - child := a.NewWindow(t.Title) - topWindow = child - child.SetContent(t.View(topWindow)) - child.Show() - child.SetOnClosed(func() { - topWindow = w - }) - return - } - - title.SetText(t.Title) - intro.SetText(t.Intro) - - content.Objects = []fyne.CanvasObject{t.View(w)} - content.Refresh() - } - - tutorial := container.NewBorder( - container.NewVBox(title, widget.NewSeparator(), intro), nil, nil, nil, content) - if fyne.CurrentDevice().IsMobile() { - w.SetContent(makeNav(setTutorial, false)) - } else { - split := container.NewHSplit(makeNav(setTutorial, true), tutorial) - split.Offset = 0.2 - w.SetContent(split) - } - w.Resize(fyne.NewSize(640, 460)) - w.ShowAndRun() -} - -func logLifecycle(a fyne.App) { - a.Lifecycle().SetOnStarted(func() { - log.Println("Lifecycle: Started") - }) - a.Lifecycle().SetOnStopped(func() { - log.Println("Lifecycle: Stopped") - }) - a.Lifecycle().SetOnEnteredForeground(func() { - log.Println("Lifecycle: Entered Foreground") - }) - a.Lifecycle().SetOnExitedForeground(func() { - log.Println("Lifecycle: Exited Foreground") - }) -} - -func makeMenu(a fyne.App, w fyne.Window) *fyne.MainMenu { - newItem := fyne.NewMenuItem("New", nil) - checkedItem := fyne.NewMenuItem("Checked", nil) - checkedItem.Checked = true - disabledItem := fyne.NewMenuItem("Disabled", nil) - disabledItem.Disabled = true - otherItem := fyne.NewMenuItem("Other", nil) - otherItem.ChildMenu = fyne.NewMenu("", - fyne.NewMenuItem("Project", func() { fmt.Println("Menu New->Other->Project") }), - fyne.NewMenuItem("Mail", func() { fmt.Println("Menu New->Other->Mail") }), - ) - newItem.ChildMenu = fyne.NewMenu("", - fyne.NewMenuItem("File", func() { fmt.Println("Menu New->File") }), - fyne.NewMenuItem("Directory", func() { fmt.Println("Menu New->Directory") }), - otherItem, - ) - settingsItem := fyne.NewMenuItem("Settings", func() { - w := a.NewWindow("Fyne Settings") - w.SetContent(settings.NewSettings().LoadAppearanceScreen(w)) - w.Resize(fyne.NewSize(480, 480)) - w.Show() - }) - - cutItem := fyne.NewMenuItem("Cut", func() { - shortcutFocused(&fyne.ShortcutCut{ - Clipboard: w.Clipboard(), - }, w) - }) - copyItem := fyne.NewMenuItem("Copy", func() { - shortcutFocused(&fyne.ShortcutCopy{ - Clipboard: w.Clipboard(), - }, w) - }) - pasteItem := fyne.NewMenuItem("Paste", func() { - shortcutFocused(&fyne.ShortcutPaste{ - Clipboard: w.Clipboard(), - }, w) - }) - findItem := fyne.NewMenuItem("Find", func() { fmt.Println("Menu Find") }) - - helpMenu := fyne.NewMenu("Help", - fyne.NewMenuItem("Documentation", func() { - u, _ := url.Parse("https://developer.fyne.io") - _ = a.OpenURL(u) - }), - fyne.NewMenuItem("Support", func() { - u, _ := url.Parse("https://fyne.io/support/") - _ = a.OpenURL(u) - }), - fyne.NewMenuItemSeparator(), - fyne.NewMenuItem("Sponsor", func() { - u, _ := url.Parse("https://fyne.io/sponsor/") - _ = a.OpenURL(u) - })) - - // a quit item will be appended to our first (File) menu - file := fyne.NewMenu("File", newItem, checkedItem, disabledItem) - if !fyne.CurrentDevice().IsMobile() { - file.Items = append(file.Items, fyne.NewMenuItemSeparator(), settingsItem) - } - return fyne.NewMainMenu( - file, - fyne.NewMenu("Edit", cutItem, copyItem, pasteItem, fyne.NewMenuItemSeparator(), findItem), - helpMenu, - ) -} - -func makeNav(setTutorial func(tutorial tutorials.Tutorial), loadPrevious bool) fyne.CanvasObject { - a := fyne.CurrentApp() - - tree := &widget.Tree{ - ChildUIDs: func(uid string) []string { - return tutorials.TutorialIndex[uid] - }, - IsBranch: func(uid string) bool { - children, ok := tutorials.TutorialIndex[uid] - - return ok && len(children) > 0 - }, - CreateNode: func(branch bool) fyne.CanvasObject { - return widget.NewLabel("Collection Widgets") - }, - UpdateNode: func(uid string, branch bool, obj fyne.CanvasObject) { - t, ok := tutorials.Tutorials[uid] - if !ok { - fyne.LogError("Missing tutorial panel: "+uid, nil) - return - } - obj.(*widget.Label).SetText(t.Title) - }, - OnSelected: func(uid string) { - if t, ok := tutorials.Tutorials[uid]; ok { - a.Preferences().SetString(preferenceCurrentTutorial, uid) - setTutorial(t) - } - }, - } - - if loadPrevious { - currentPref := a.Preferences().StringWithFallback(preferenceCurrentTutorial, "welcome") - tree.Select(currentPref) - } - - themes := fyne.NewContainerWithLayout(layout.NewGridLayout(2), - widget.NewButton("Dark", func() { - a.Settings().SetTheme(theme.DarkTheme()) - }), - widget.NewButton("Light", func() { - a.Settings().SetTheme(theme.LightTheme()) - }), - ) - - return container.NewBorder(nil, themes, nil, nil, tree) -} - -func shortcutFocused(s fyne.Shortcut, w fyne.Window) { - if focused, ok := w.Canvas().Focused().(fyne.Shortcutable); ok { - focused.TypedShortcut(s) - } -} diff --git a/playground/fyne_demo/tutorials/advanced.go b/playground/fyne_demo/tutorials/advanced.go deleted file mode 100644 index ac08b36..0000000 --- a/playground/fyne_demo/tutorials/advanced.go +++ /dev/null @@ -1,85 +0,0 @@ -package tutorials - -import ( - "strconv" - "time" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/container" - "fyne.io/fyne/v2/driver/desktop" - "fyne.io/fyne/v2/widget" -) - -func scaleString(c fyne.Canvas) string { - return strconv.FormatFloat(float64(c.Scale()), 'f', 2, 32) -} - -func texScaleString(c fyne.Canvas) string { - pixels, _ := c.PixelCoordinateForPosition(fyne.NewPos(1, 1)) - texScale := float32(pixels) / c.Scale() - return strconv.FormatFloat(float64(texScale), 'f', 2, 32) -} - -func prependTo(g *fyne.Container, s string) { - g.Objects = append([]fyne.CanvasObject{widget.NewLabel(s)}, g.Objects...) - g.Refresh() -} - -func setScaleText(scale, tex *widget.Label, win fyne.Window) { - for scale.Visible() { - scale.SetText(scaleString(win.Canvas())) - tex.SetText(texScaleString(win.Canvas())) - - time.Sleep(time.Second) - } -} - -// advancedScreen loads a panel that shows details and settings that are a bit -// more detailed than normally needed. -func advancedScreen(win fyne.Window) fyne.CanvasObject { - scale := widget.NewLabel("") - tex := widget.NewLabel("") - - screen := widget.NewCard("Screen info", "", widget.NewForm( - &widget.FormItem{Text: "Scale", Widget: scale}, - &widget.FormItem{Text: "Texture Scale", Widget: tex}, - )) - - go setScaleText(scale, tex, win) - - label := widget.NewLabel("Just type...") - generic := container.NewVBox() - desk := container.NewVBox() - - genericCard := widget.NewCard("", "Generic", container.NewVScroll(generic)) - deskCard := widget.NewCard("", "Desktop", container.NewVScroll(desk)) - - win.Canvas().SetOnTypedRune(func(r rune) { - prependTo(generic, "Rune: "+string(r)) - }) - win.Canvas().SetOnTypedKey(func(ev *fyne.KeyEvent) { - prependTo(generic, "Key : "+string(ev.Name)) - }) - if deskCanvas, ok := win.Canvas().(desktop.Canvas); ok { - deskCanvas.SetOnKeyDown(func(ev *fyne.KeyEvent) { - prependTo(desk, "KeyDown: "+string(ev.Name)) - }) - deskCanvas.SetOnKeyUp(func(ev *fyne.KeyEvent) { - prependTo(desk, "KeyUp : "+string(ev.Name)) - }) - } - - return container.NewHBox( - container.NewVBox(screen, - widget.NewButton("Custom Theme", func() { - fyne.CurrentApp().Settings().SetTheme(newCustomTheme()) - }), - widget.NewButton("Fullscreen", func() { - win.SetFullScreen(!win.FullScreen()) - }), - ), - container.NewBorder(label, nil, nil, nil, - container.NewGridWithColumns(2, genericCard, deskCard), - ), - ) -} diff --git a/playground/fyne_demo/tutorials/animation.go b/playground/fyne_demo/tutorials/animation.go deleted file mode 100644 index 465b364..0000000 --- a/playground/fyne_demo/tutorials/animation.go +++ /dev/null @@ -1,143 +0,0 @@ -package tutorials - -import ( - "image/color" - "time" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/canvas" - "fyne.io/fyne/v2/theme" - "fyne.io/fyne/v2/widget" -) - -func makeAnimationScreen(_ fyne.Window) fyne.CanvasObject { - curves := makeAnimationCurves() - curves.Move(fyne.NewPos(0, 140+theme.Padding())) - return fyne.NewContainerWithoutLayout(makeAnimationCanvas(), curves) -} - -func makeAnimationCanvas() fyne.CanvasObject { - rect := canvas.NewRectangle(color.Black) - rect.Resize(fyne.NewSize(410, 140)) - - a := canvas.NewColorRGBAAnimation(theme.PrimaryColorNamed(theme.ColorBlue), theme.PrimaryColorNamed(theme.ColorGreen), - time.Second*3, func(c color.Color) { - rect.FillColor = c - canvas.Refresh(rect) - }) - a.RepeatCount = fyne.AnimationRepeatForever - a.AutoReverse = true - a.Start() - - var a2 *fyne.Animation - i := widget.NewIcon(theme.CheckButtonCheckedIcon()) - a2 = canvas.NewPositionAnimation(fyne.NewPos(0, 0), fyne.NewPos(350, 80), time.Second*3, func(p fyne.Position) { - i.Move(p) - - width := 10 + (p.X / 7) - i.Resize(fyne.NewSize(width, width)) - }) - a2.RepeatCount = fyne.AnimationRepeatForever - a2.AutoReverse = true - a2.Curve = fyne.AnimationLinear - a2.Start() - - running := true - var toggle *widget.Button - toggle = widget.NewButton("Stop", func() { - if running { - a.Stop() - a2.Stop() - toggle.SetText("Start") - } else { - a.Start() - a2.Start() - toggle.SetText("Stop") - } - running = !running - }) - toggle.Resize(toggle.MinSize()) - toggle.Move(fyne.NewPos(152, 54)) - return fyne.NewContainerWithoutLayout(rect, i, toggle) -} - -func makeAnimationCurves() fyne.CanvasObject { - label1, box1, a1 := makeAnimationCurveItem("EaseInOut", fyne.AnimationEaseInOut, 0) - label2, box2, a2 := makeAnimationCurveItem("EaseIn", fyne.AnimationEaseIn, 30+theme.Padding()) - label3, box3, a3 := makeAnimationCurveItem("EaseOut", fyne.AnimationEaseOut, 60+theme.Padding()*2) - label4, box4, a4 := makeAnimationCurveItem("Linear", fyne.AnimationLinear, 90+theme.Padding()*3) - - start := widget.NewButton("Compare", func() { - a1.Start() - a2.Start() - a3.Start() - a4.Start() - }) - start.Resize(start.MinSize()) - start.Move(fyne.NewPos(0, 120+theme.Padding()*4)) - return fyne.NewContainerWithoutLayout(label1, label2, label3, label4, box1, box2, box3, box4, start) -} - -func makeAnimationCurveItem(label string, curve fyne.AnimationCurve, yOff float32) ( - text *widget.Label, box fyne.CanvasObject, anim *fyne.Animation) { - text = widget.NewLabel(label) - text.Alignment = fyne.TextAlignCenter - text.Resize(fyne.NewSize(380, 30)) - text.Move(fyne.NewPos(0, yOff)) - box = newThemedBox() - box.Resize(fyne.NewSize(30, 30)) - box.Move(fyne.NewPos(0, yOff)) - - anim = canvas.NewPositionAnimation( - fyne.NewPos(0, yOff), fyne.NewPos(380, yOff), time.Second, func(p fyne.Position) { - box.Move(p) - box.Refresh() - }) - anim.Curve = curve - anim.AutoReverse = true - anim.RepeatCount = 1 - return -} - -// themedBox is a simple box that change its background color according -// to the selected theme -type themedBox struct { - widget.BaseWidget -} - -func newThemedBox() *themedBox { - b := &themedBox{} - b.ExtendBaseWidget(b) - return b -} - -func (b *themedBox) CreateRenderer() fyne.WidgetRenderer { - b.ExtendBaseWidget(b) - bg := canvas.NewRectangle(theme.ForegroundColor()) - return &themedBoxRenderer{bg: bg, objects: []fyne.CanvasObject{bg}} -} - -type themedBoxRenderer struct { - bg *canvas.Rectangle - objects []fyne.CanvasObject -} - -func (r *themedBoxRenderer) Destroy() { -} - -func (r *themedBoxRenderer) Layout(size fyne.Size) { - r.bg.Resize(size) -} - -func (r *themedBoxRenderer) MinSize() fyne.Size { - return r.bg.MinSize() -} - -func (r *themedBoxRenderer) Objects() []fyne.CanvasObject { - return r.objects -} - -func (r *themedBoxRenderer) Refresh() { - r.bg.FillColor = theme.ForegroundColor() - r.bg.Refresh() -} diff --git a/playground/fyne_demo/tutorials/bind.go b/playground/fyne_demo/tutorials/bind.go deleted file mode 100644 index 30de497..0000000 --- a/playground/fyne_demo/tutorials/bind.go +++ /dev/null @@ -1,111 +0,0 @@ -package tutorials - -import ( - "fmt" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/container" - "fyne.io/fyne/v2/data/binding" - "fyne.io/fyne/v2/widget" -) - -func bindingScreen(_ fyne.Window) fyne.CanvasObject { - f := 0.2 - data := binding.BindFloat(&f) - label := widget.NewLabelWithData(binding.FloatToStringWithFormat(data, "Float value: %0.2f")) - entry := widget.NewEntryWithData(binding.FloatToString(data)) - floats := container.NewGridWithColumns(2, label, entry) - - slide := widget.NewSliderWithData(0, 1, data) - slide.Step = 0.01 - bar := widget.NewProgressBarWithData(data) - - buttons := container.NewGridWithColumns(4, - widget.NewButton("0%", func() { - data.Set(0) - }), - widget.NewButton("30%", func() { - data.Set(0.3) - }), - widget.NewButton("70%", func() { - data.Set(0.7) - }), - widget.NewButton("100%", func() { - data.Set(1) - })) - - boolData := binding.NewBool() - check := widget.NewCheckWithData("Check me!", boolData) - checkLabel := widget.NewLabelWithData(binding.BoolToString(boolData)) - checkEntry := widget.NewEntryWithData(binding.BoolToString(boolData)) - checks := container.NewGridWithColumns(3, check, checkLabel, checkEntry) - item := container.NewVBox(floats, slide, bar, buttons, widget.NewSeparator(), checks, widget.NewSeparator()) - - dataList := binding.BindFloatList(&[]float64{0.1, 0.2, 0.3}) - - button := widget.NewButton("Append", func() { - dataList.Append(float64(dataList.Length()+1) / 10) - }) - - list := widget.NewListWithData(dataList, - func() fyne.CanvasObject { - return container.NewBorder(nil, nil, nil, widget.NewButton("+", nil), - widget.NewLabel("item x.y")) - }, - func(item binding.DataItem, obj fyne.CanvasObject) { - f := item.(binding.Float) - text := obj.(*fyne.Container).Objects[0].(*widget.Label) - text.Bind(binding.FloatToStringWithFormat(f, "item %0.1f")) - - btn := obj.(*fyne.Container).Objects[1].(*widget.Button) - btn.OnTapped = func() { - val, _ := f.Get() - _ = f.Set(val + 1) - } - }) - - formStruct := struct { - Name, Email string - Subscribe bool - }{} - - formData := binding.BindStruct(&formStruct) - form := newFormWithData(formData) - form.OnSubmit = func() { - fmt.Println("Struct:\n", formStruct) - } - - listPanel := container.NewBorder(nil, button, nil, nil, list) - return container.NewBorder(item, nil, nil, nil, container.NewGridWithColumns(2, listPanel, form)) -} - -func newFormWithData(data binding.DataMap) *widget.Form { - keys := data.Keys() - items := make([]*widget.FormItem, len(keys)) - for i, k := range keys { - data, err := data.GetItem(k) - if err != nil { - items[i] = widget.NewFormItem(k, widget.NewLabel(err.Error())) - } - items[i] = widget.NewFormItem(k, createBoundItem(data)) - } - - return widget.NewForm(items...) -} - -func createBoundItem(v binding.DataItem) fyne.CanvasObject { - switch val := v.(type) { - case binding.Bool: - return widget.NewCheckWithData("", val) - case binding.Float: - s := widget.NewSliderWithData(0, 1, val) - s.Step = 0.01 - return s - case binding.Int: - return widget.NewEntryWithData(binding.IntToString(val)) - case binding.String: - return widget.NewEntryWithData(val) - default: - return widget.NewLabel("") - } -} diff --git a/playground/fyne_demo/tutorials/canvas.go b/playground/fyne_demo/tutorials/canvas.go deleted file mode 100644 index 01acfea..0000000 --- a/playground/fyne_demo/tutorials/canvas.go +++ /dev/null @@ -1,49 +0,0 @@ -package tutorials - -import ( - "image/color" - "time" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/canvas" - "fyne.io/fyne/v2/layout" - "fyne.io/fyne/v2/theme" -) - -func rgbGradient(x, y, w, h int) color.Color { - g := int(float32(x) / float32(w) * float32(255)) - b := int(float32(y) / float32(h) * float32(255)) - - return color.NRGBA{uint8(255 - b), uint8(g), uint8(b), 0xff} -} - -// canvasScreen loads a graphics example panel for the demo app -func canvasScreen(_ fyne.Window) fyne.CanvasObject { - gradient := canvas.NewHorizontalGradient(color.NRGBA{0x80, 0, 0, 0xff}, color.NRGBA{0, 0x80, 0, 0xff}) - go func() { - for { - time.Sleep(time.Second) - - gradient.Angle += 45 - if gradient.Angle >= 360 { - gradient.Angle -= 360 - } - canvas.Refresh(gradient) - } - }() - - return fyne.NewContainerWithLayout(layout.NewGridWrapLayout(fyne.NewSize(90, 90)), - canvas.NewImageFromResource(theme.FyneLogo()), - &canvas.Rectangle{FillColor: color.NRGBA{0x80, 0, 0, 0xff}, - StrokeColor: color.NRGBA{0xff, 0xff, 0xff, 0xff}, - StrokeWidth: 1}, - &canvas.Line{StrokeColor: color.NRGBA{0, 0, 0x80, 0xff}, StrokeWidth: 5}, - &canvas.Circle{StrokeColor: color.NRGBA{0, 0, 0x80, 0xff}, - FillColor: color.NRGBA{0x30, 0x30, 0x30, 0x60}, - StrokeWidth: 2}, - canvas.NewText("Text", color.NRGBA{0, 0x80, 0, 0xff}), - canvas.NewRasterWithPixels(rgbGradient), - gradient, - canvas.NewRadialGradient(color.NRGBA{0x80, 0, 0, 0xff}, color.NRGBA{0, 0x80, 0x80, 0xff}), - ) -} diff --git a/playground/fyne_demo/tutorials/collection.go b/playground/fyne_demo/tutorials/collection.go deleted file mode 100644 index afe879a..0000000 --- a/playground/fyne_demo/tutorials/collection.go +++ /dev/null @@ -1,119 +0,0 @@ -package tutorials - -import ( - "fmt" - "strconv" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/container" - "fyne.io/fyne/v2/theme" - "fyne.io/fyne/v2/widget" -) - -// collectionScreen loads a tab panel for collection widgets -func collectionScreen(_ fyne.Window) fyne.CanvasObject { - content := container.NewVBox( - widget.NewLabelWithStyle("func Length() int", fyne.TextAlignLeading, fyne.TextStyle{Monospace: true}), - widget.NewLabelWithStyle("func CreateItem() fyne.CanvasObject", fyne.TextAlignLeading, fyne.TextStyle{Monospace: true}), - widget.NewLabelWithStyle("func UpdateItem(ListItemID, fyne.CanvasObject)", fyne.TextAlignLeading, fyne.TextStyle{Monospace: true}), - widget.NewLabelWithStyle("func OnSelected(ListItemID)", fyne.TextAlignLeading, fyne.TextStyle{Monospace: true}), - widget.NewLabelWithStyle("func OnUnselected(ListItemID)", fyne.TextAlignLeading, fyne.TextStyle{Monospace: true})) - return container.NewCenter(content) -} - -func makeListTab(_ fyne.Window) fyne.CanvasObject { - data := make([]string, 1000) - for i := range data { - data[i] = "Test Item " + strconv.Itoa(i) - } - - icon := widget.NewIcon(nil) - label := widget.NewLabel("Select An Item From The List") - hbox := container.NewHBox(icon, label) - - list := widget.NewList( - func() int { - return len(data) - }, - func() fyne.CanvasObject { - return container.NewHBox(widget.NewIcon(theme.DocumentIcon()), widget.NewLabel("Template Object")) - }, - func(id widget.ListItemID, item fyne.CanvasObject) { - item.(*fyne.Container).Objects[1].(*widget.Label).SetText(data[id]) - }, - ) - list.OnSelected = func(id widget.ListItemID) { - label.SetText(data[id]) - icon.SetResource(theme.DocumentIcon()) - } - list.OnUnselected = func(id widget.ListItemID) { - label.SetText("Select An Item From The List") - icon.SetResource(nil) - } - list.Select(125) - - return container.NewHSplit(list, container.NewCenter(hbox)) -} - -func makeTableTab(_ fyne.Window) fyne.CanvasObject { - t := widget.NewTable( - func() (int, int) { return 500, 150 }, - func() fyne.CanvasObject { - return widget.NewLabel("Cell 000, 000") - }, - func(id widget.TableCellID, cell fyne.CanvasObject) { - label := cell.(*widget.Label) - switch id.Col { - case 0: - label.SetText(fmt.Sprintf("%d", id.Row+1)) - case 1: - label.SetText("A longer cell") - default: - label.SetText(fmt.Sprintf("Cell %d, %d", id.Row+1, id.Col+1)) - } - }) - t.SetColumnWidth(0, 34) - t.SetColumnWidth(1, 102) - return t -} - -func makeTreeTab(_ fyne.Window) fyne.CanvasObject { - data := map[string][]string{ - "": {"A"}, - "A": {"B", "D", "H", "J", "L", "O", "P", "S", "V"}, - "B": {"C"}, - "C": {"abc"}, - "D": {"E"}, - "E": {"F", "G"}, - "F": {"adef"}, - "G": {"adeg"}, - "H": {"I"}, - "I": {"ahi"}, - "O": {"ao"}, - "P": {"Q"}, - "Q": {"R"}, - "R": {"apqr"}, - "S": {"T"}, - "T": {"U"}, - "U": {"astu"}, - "V": {"W"}, - "W": {"X"}, - "X": {"Y"}, - "Y": {"Z"}, - "Z": {"avwxyz"}, - } - - tree := widget.NewTreeWithStrings(data) - tree.OnSelected = func(id string) { - fmt.Println("Tree node selected:", id) - } - tree.OnUnselected = func(id string) { - fmt.Println("Tree node unselected:", id) - } - tree.OpenBranch("A") - tree.OpenBranch("D") - tree.OpenBranch("E") - tree.OpenBranch("L") - tree.OpenBranch("M") - return tree -} diff --git a/playground/fyne_demo/tutorials/container.go b/playground/fyne_demo/tutorials/container.go deleted file mode 100644 index 3ae4b99..0000000 --- a/playground/fyne_demo/tutorials/container.go +++ /dev/null @@ -1,154 +0,0 @@ -package tutorials - -import ( - "fmt" - "image/color" - "strconv" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/canvas" - "fyne.io/fyne/v2/container" - "fyne.io/fyne/v2/theme" - "fyne.io/fyne/v2/widget" -) - -// containerScreen loads a tab panel for containers -func containerScreen(_ fyne.Window) fyne.CanvasObject { - content := container.NewBorder( - widget.NewLabelWithStyle("Top", fyne.TextAlignCenter, fyne.TextStyle{}), - widget.NewLabelWithStyle("Bottom", fyne.TextAlignCenter, fyne.TextStyle{}), - widget.NewLabel("Left"), - widget.NewLabel("Right"), - widget.NewLabel("Border Container")) - return container.NewCenter(content) -} - -func makeAppTabsTab(_ fyne.Window) fyne.CanvasObject { - tabs := container.NewAppTabs( - container.NewTabItem("Tab 1", widget.NewLabel("Content of tab 1")), - container.NewTabItem("Tab 2 bigger", widget.NewLabel("Content of tab 2")), - container.NewTabItem("Tab 3", widget.NewLabel("Content of tab 3")), - ) - for i := 4; i <= 12; i++ { - tabs.Append(container.NewTabItem(fmt.Sprintf("Tab %d", i), widget.NewLabel(fmt.Sprintf("Content of tab %d", i)))) - } - locations := makeTabLocationSelect(tabs.SetTabLocation) - return container.NewBorder(locations, nil, nil, nil, tabs) -} - -func makeBorderLayout(_ fyne.Window) fyne.CanvasObject { - top := makeCell() - bottom := makeCell() - left := makeCell() - right := makeCell() - middle := widget.NewLabelWithStyle("BorderLayout", fyne.TextAlignCenter, fyne.TextStyle{}) - - return container.NewBorder(top, bottom, left, right, middle) -} - -func makeBoxLayout(_ fyne.Window) fyne.CanvasObject { - top := makeCell() - bottom := makeCell() - middle := widget.NewLabel("BoxLayout") - center := makeCell() - right := makeCell() - - col := container.NewVBox(top, middle, bottom) - - return container.NewHBox(col, center, right) -} - -func makeButtonList(count int) []fyne.CanvasObject { - var items []fyne.CanvasObject - for i := 1; i <= count; i++ { - index := i // capture - items = append(items, widget.NewButton("Button "+strconv.Itoa(index), func() { - fmt.Println("Tapped", index) - })) - } - - return items -} - -func makeCell() fyne.CanvasObject { - rect := canvas.NewRectangle(&color.NRGBA{128, 128, 128, 255}) - rect.SetMinSize(fyne.NewSize(30, 30)) - return rect -} - -func makeCenterLayout(_ fyne.Window) fyne.CanvasObject { - middle := widget.NewButton("CenterLayout", func() {}) - - return container.NewCenter(middle) -} - -func makeDocTabsTab(_ fyne.Window) fyne.CanvasObject { - tabs := container.NewDocTabs( - container.NewTabItem("Doc 1", widget.NewLabel("Content of document 1")), - container.NewTabItem("Doc 2 bigger", widget.NewLabel("Content of document 2")), - container.NewTabItem("Doc 3", widget.NewLabel("Content of document 3")), - ) - i := 3 - tabs.CreateTab = func() *container.TabItem { - i++ - return container.NewTabItem(fmt.Sprintf("Doc %d", i), widget.NewLabel(fmt.Sprintf("Content of document %d", i))) - } - locations := makeTabLocationSelect(tabs.SetTabLocation) - return container.NewBorder(locations, nil, nil, nil, tabs) -} - -func makeGridLayout(_ fyne.Window) fyne.CanvasObject { - box1 := makeCell() - box2 := widget.NewLabel("Grid") - box3 := makeCell() - box4 := makeCell() - - return container.NewGridWithColumns(2, - box1, box2, box3, box4) -} - -func makeScrollTab(_ fyne.Window) fyne.CanvasObject { - hlist := makeButtonList(20) - vlist := makeButtonList(50) - - horiz := container.NewHScroll(container.NewHBox(hlist...)) - vert := container.NewVScroll(container.NewVBox(vlist...)) - - return container.NewAdaptiveGrid(2, - container.NewBorder(horiz, nil, nil, nil, vert), - makeScrollBothTab()) -} - -func makeScrollBothTab() fyne.CanvasObject { - logo := canvas.NewImageFromResource(theme.FyneLogo()) - logo.SetMinSize(fyne.NewSize(800, 800)) - - scroll := container.NewScroll(logo) - scroll.Resize(fyne.NewSize(400, 400)) - - return scroll -} - -func makeSplitTab(_ fyne.Window) fyne.CanvasObject { - left := widget.NewMultiLineEntry() - left.Wrapping = fyne.TextWrapWord - left.SetText("Long text is looooooooooooooong") - right := container.NewVSplit( - widget.NewLabel("Label"), - widget.NewButton("Button", func() { fmt.Println("button tapped!") }), - ) - return container.NewHSplit(container.NewVScroll(left), right) -} - -func makeTabLocationSelect(callback func(container.TabLocation)) *widget.Select { - locations := widget.NewSelect([]string{"Top", "Bottom", "Leading", "Trailing"}, func(s string) { - callback(map[string]container.TabLocation{ - "Top": container.TabLocationTop, - "Bottom": container.TabLocationBottom, - "Leading": container.TabLocationLeading, - "Trailing": container.TabLocationTrailing, - }[s]) - }) - locations.SetSelected("Top") - return locations -} diff --git a/playground/fyne_demo/tutorials/data.go b/playground/fyne_demo/tutorials/data.go deleted file mode 100644 index 6fd242f..0000000 --- a/playground/fyne_demo/tutorials/data.go +++ /dev/null @@ -1,150 +0,0 @@ -package tutorials - -import ( - "fyne.io/fyne/v2" -) - -// Tutorial defines the data structure for a tutorial -type Tutorial struct { - Title, Intro string - View func(w fyne.Window) fyne.CanvasObject -} - -var ( - // Tutorials defines the metadata for each tutorial - Tutorials = map[string]Tutorial{ - "welcome": {"Welcome", "", welcomeScreen}, - "canvas": {"Canvas", - "See the canvas capabilities.", - canvasScreen, - }, - "animations": {"Animations", - "See how to animate components.", - makeAnimationScreen, - }, - "icons": {"Theme Icons", - "Browse the embedded icons.", - iconScreen, - }, - "containers": {"Containers", - "Containers group other widgets and canvas objects, organising according to their layout.\n" + - "Standard containers are illustrated in this section, but developers can also provide custom " + - "layouts using the fyne.NewContainerWithLayout() constructor.", - containerScreen, - }, - "apptabs": {"AppTabs", - "A container to help divide up an application into functional areas.", - makeAppTabsTab, - }, - "border": {"Border", - "A container that positions items around a central content.", - makeBorderLayout, - }, - "box": {"Box", - "A container arranges items in horizontal or vertical list.", - makeBoxLayout, - }, - "center": {"Center", - "A container to that centers child elements.", - makeCenterLayout, - }, - "doctabs": {"DocTabs", - "A container to display a single document from a set of many.", - makeDocTabsTab, - }, - "grid": {"Grid", - "A container that arranges all items in a grid.", - makeGridLayout, - }, - "split": {"Split", - "A split container divides the container in two pieces that the user can resize.", - makeSplitTab, - }, - "scroll": {"Scroll", - "A container that provides scrolling for it's content.", - makeScrollTab, - }, - "widgets": {"Widgets", - "In this section you can see the features available in the toolkit widget set.\n" + - "Expand the tree on the left to browse the individual tutorial elements.", - widgetScreen, - }, - "accordion": {"Accordion", - "Expand or collapse content panels.", - makeAccordionTab, - }, - "button": {"Button", - "Simple widget for user tap handling.", - makeButtonTab, - }, - "card": {"Card", - "Group content and widgets.", - makeCardTab, - }, - "entry": {"Entry", - "Different ways to use the entry widget.", - makeEntryTab, - }, - "form": {"Form", - "Gathering input widgets for data submission.", - makeFormTab, - }, - "input": {"Input", - "A collection of widgets for user input.", - makeInputTab, - }, - "text": {"Text", - "Text handling widgets.", - makeTextTab, - }, - "toolbar": {"Toolbar", - "A row of shortcut icons for common tasks.", - makeToolbarTab, - }, - "progress": {"Progress", - "Show duration or the need to wait for a task.", - makeProgressTab, - }, - "collections": {"Collections", - "Collection widgets provide an efficient way to present lots of content.\n" + - "The List, Table, and Tree provide a cache and re-use mechanism that make it possible to scroll through thousands of elements.\n" + - "Use this for large data sets or for collections that can expand as users scroll.", - collectionScreen, - }, - "list": {"List", - "A vertical arrangement of cached elements with the same styling.", - makeListTab, - }, - "table": {"Table", - "A two dimensional cached collection of cells.", - makeTableTab, - }, - "tree": {"Tree", - "A tree based arrangement of cached elements with the same styling.", - makeTreeTab, - }, - "dialogs": {"Dialogs", - "Work with dialogs.", - dialogScreen, - }, - "windows": {"Windows", - "Window function demo.", - windowScreen, - }, - "binding": {"Data Binding", - "Connecting widgets to a data source.", - bindingScreen}, - "advanced": {"Advanced", - "Debug and advanced information.", - advancedScreen, - }, - } - - // TutorialIndex defines how our tutorials should be laid out in the index tree - TutorialIndex = map[string][]string{ - "": {"welcome", "canvas", "animations", "icons", "widgets", "collections", "containers", "dialogs", "windows", "binding", "advanced"}, - "collections": {"list", "table", "tree"}, - "containers": {"apptabs", "border", "box", "center", "doctabs", "grid", "scroll", "split"}, - "widgets": {"accordion", "button", "card", "entry", "form", "input", "progress", "text", "toolbar"}, - } -) diff --git a/playground/fyne_demo/tutorials/dialog.go b/playground/fyne_demo/tutorials/dialog.go deleted file mode 100644 index fc9bdf9..0000000 --- a/playground/fyne_demo/tutorials/dialog.go +++ /dev/null @@ -1,185 +0,0 @@ -package tutorials - -import ( - "errors" - "fmt" - "image/color" - "io/ioutil" - "log" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/canvas" - "fyne.io/fyne/v2/container" - "fyne.io/fyne/v2/data/validation" - "fyne.io/fyne/v2/dialog" - "fyne.io/fyne/v2/storage" - "fyne.io/fyne/v2/theme" - "fyne.io/fyne/v2/widget" -) - -func confirmCallback(response bool) { - fmt.Println("Responded with", response) -} - -func colorPicked(c color.Color, w fyne.Window) { - log.Println("Color picked:", c) - rectangle := canvas.NewRectangle(c) - size := 2 * theme.IconInlineSize() - rectangle.SetMinSize(fyne.NewSize(size, size)) - dialog.ShowCustom("Color Picked", "Ok", rectangle, w) -} - -// dialogScreen loads demos of the dialogs we support -func dialogScreen(win fyne.Window) fyne.CanvasObject { - return container.NewVScroll(container.NewVBox( - widget.NewButton("Info", func() { - dialog.ShowInformation("Information", "You should know this thing...", win) - }), - widget.NewButton("Error", func() { - err := errors.New("a dummy error message") - dialog.ShowError(err, win) - }), - widget.NewButton("Confirm", func() { - cnf := dialog.NewConfirm("Confirmation", "Are you enjoying this demo?", confirmCallback, win) - cnf.SetDismissText("Nah") - cnf.SetConfirmText("Oh Yes!") - cnf.Show() - }), - widget.NewButton("File Open With Filter (.jpg or .png)", func() { - fd := dialog.NewFileOpen(func(reader fyne.URIReadCloser, err error) { - if err != nil { - dialog.ShowError(err, win) - return - } - if reader == nil { - log.Println("Cancelled") - return - } - - imageOpened(reader) - }, win) - fd.SetFilter(storage.NewExtensionFileFilter([]string{".png", ".jpg", ".jpeg"})) - fd.Show() - }), - widget.NewButton("File Save", func() { - dialog.ShowFileSave(func(writer fyne.URIWriteCloser, err error) { - if err != nil { - dialog.ShowError(err, win) - return - } - if writer == nil { - log.Println("Cancelled") - return - } - - fileSaved(writer, win) - }, win) - }), - widget.NewButton("Folder Open", func() { - dialog.ShowFolderOpen(func(list fyne.ListableURI, err error) { - if err != nil { - dialog.ShowError(err, win) - return - } - if list == nil { - log.Println("Cancelled") - return - } - - children, err := list.List() - if err != nil { - dialog.ShowError(err, win) - return - } - out := fmt.Sprintf("Folder %s (%d children):\n%s", list.Name(), len(children), list.String()) - dialog.ShowInformation("Folder Open", out, win) - }, win) - }), - widget.NewButton("Color Picker", func() { - picker := dialog.NewColorPicker("Pick a Color", "What is your favorite color?", func(c color.Color) { - colorPicked(c, win) - }, win) - picker.Show() - }), - widget.NewButton("Advanced Color Picker", func() { - picker := dialog.NewColorPicker("Pick a Color", "What is your favorite color?", func(c color.Color) { - colorPicked(c, win) - }, win) - picker.Advanced = true - picker.Show() - }), - widget.NewButton("Form Dialog (Login Form)", func() { - username := widget.NewEntry() - username.Validator = validation.NewRegexp(`^[A-Za-z0-9_-]+$`, "username can only contain letters, numbers, '_', and '-'") - password := widget.NewPasswordEntry() - password.Validator = validation.NewRegexp(`^[A-Za-z0-9_-]+$`, "password can only contain letters, numbers, '_', and '-'") - remember := false - items := []*widget.FormItem{ - widget.NewFormItem("Username", username), - widget.NewFormItem("Password", password), - widget.NewFormItem("Remember me", widget.NewCheck("", func(checked bool) { - remember = checked - })), - } - - dialog.ShowForm("Login...", "Log In", "Cancel", items, func(b bool) { - if !b { - return - } - var rememberText string - if remember { - rememberText = "and remember this login" - } - - log.Println("Please Authenticate", username.Text, password.Text, rememberText) - }, win) - }), - )) -} - -func imageOpened(f fyne.URIReadCloser) { - if f == nil { - log.Println("Cancelled") - return - } - defer f.Close() - - showImage(f) -} - -func fileSaved(f fyne.URIWriteCloser, w fyne.Window) { - defer f.Close() - _, err := f.Write([]byte("Written by Fyne demo\n")) - if err != nil { - dialog.ShowError(err, w) - } - err = f.Close() - if err != nil { - dialog.ShowError(err, w) - } - log.Println("Saved to...", f.URI()) -} - -func loadImage(f fyne.URIReadCloser) *canvas.Image { - data, err := ioutil.ReadAll(f) - if err != nil { - fyne.LogError("Failed to load image data", err) - return nil - } - res := fyne.NewStaticResource(f.URI().Name(), data) - - return canvas.NewImageFromResource(res) -} - -func showImage(f fyne.URIReadCloser) { - img := loadImage(f) - if img == nil { - return - } - img.FillMode = canvas.ImageFillOriginal - - w := fyne.CurrentApp().NewWindow(f.URI().Name()) - w.SetContent(container.NewScroll(img)) - w.Resize(fyne.NewSize(320, 240)) - w.Show() -} diff --git a/playground/fyne_demo/tutorials/icons.go b/playground/fyne_demo/tutorials/icons.go deleted file mode 100644 index 1aa51ce..0000000 --- a/playground/fyne_demo/tutorials/icons.go +++ /dev/null @@ -1,195 +0,0 @@ -package tutorials - -import ( - "image/color" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/canvas" - "fyne.io/fyne/v2/container" - "fyne.io/fyne/v2/layout" - "fyne.io/fyne/v2/theme" - "fyne.io/fyne/v2/widget" -) - -type iconInfo struct { - name string - icon fyne.Resource -} - -type browser struct { - current int - icons []iconInfo - - name *widget.Select - icon *widget.Icon -} - -func (b *browser) setIcon(index int) { - if index < 0 || index > len(b.icons)-1 { - return - } - b.current = index - - b.name.SetSelected(b.icons[index].name) - b.icon.SetResource(b.icons[index].icon) -} - -// iconScreen loads a panel that shows the various icons available in Fyne -func iconScreen(_ fyne.Window) fyne.CanvasObject { - b := &browser{} - b.icons = loadIcons() - - prev := widget.NewButtonWithIcon("", theme.NavigateBackIcon(), func() { - b.setIcon(b.current - 1) - }) - next := widget.NewButtonWithIcon("", theme.NavigateNextIcon(), func() { - b.setIcon(b.current + 1) - }) - b.name = widget.NewSelect(iconList(b.icons), func(name string) { - for i, icon := range b.icons { - if icon.name == name { - if b.current != i { - b.setIcon(i) - } - break - } - } - }) - b.name.SetSelected(b.icons[b.current].name) - buttons := container.NewHBox(prev, next) - bar := container.NewBorder(nil, nil, buttons, nil, b.name) - - background := canvas.NewRasterWithPixels(checkerPattern) - background.SetMinSize(fyne.NewSize(280, 280)) - b.icon = widget.NewIcon(b.icons[b.current].icon) - - return fyne.NewContainerWithLayout(layout.NewBorderLayout( - bar, nil, nil, nil), bar, background, b.icon) -} - -func checkerPattern(x, y, _, _ int) color.Color { - x /= 20 - y /= 20 - - if x%2 == y%2 { - return theme.BackgroundColor() - } - - return theme.ShadowColor() -} - -func iconList(icons []iconInfo) []string { - ret := make([]string, len(icons)) - for i, icon := range icons { - ret[i] = icon.name - } - - return ret -} - -func loadIcons() []iconInfo { - return []iconInfo{ - {"CancelIcon", theme.CancelIcon()}, - {"ConfirmIcon", theme.ConfirmIcon()}, - {"DeleteIcon", theme.DeleteIcon()}, - {"SearchIcon", theme.SearchIcon()}, - {"SearchReplaceIcon", theme.SearchReplaceIcon()}, - - {"CheckButtonIcon", theme.CheckButtonIcon()}, - {"CheckButtonCheckedIcon", theme.CheckButtonCheckedIcon()}, - {"RadioButtonIcon", theme.RadioButtonIcon()}, - {"RadioButtonCheckedIcon", theme.RadioButtonCheckedIcon()}, - - {"ColorAchromaticIcon", theme.ColorAchromaticIcon()}, - {"ColorChromaticIcon", theme.ColorChromaticIcon()}, - {"ColorPaletteIcon", theme.ColorPaletteIcon()}, - - {"ContentAddIcon", theme.ContentAddIcon()}, - {"ContentRemoveIcon", theme.ContentRemoveIcon()}, - {"ContentClearIcon", theme.ContentClearIcon()}, - {"ContentCutIcon", theme.ContentCutIcon()}, - {"ContentCopyIcon", theme.ContentCopyIcon()}, - {"ContentPasteIcon", theme.ContentPasteIcon()}, - {"ContentRedoIcon", theme.ContentRedoIcon()}, - {"ContentUndoIcon", theme.ContentUndoIcon()}, - - {"InfoIcon", theme.InfoIcon()}, - {"ErrorIcon", theme.ErrorIcon()}, - {"QuestionIcon", theme.QuestionIcon()}, - {"WarningIcon", theme.WarningIcon()}, - - {"DocumentIcon", theme.DocumentIcon()}, - {"DocumentCreateIcon", theme.DocumentCreateIcon()}, - {"DocumentPrintIcon", theme.DocumentPrintIcon()}, - {"DocumentSaveIcon", theme.DocumentSaveIcon()}, - - {"FileIcon", theme.FileIcon()}, - {"FileApplicationIcon", theme.FileApplicationIcon()}, - {"FileAudioIcon", theme.FileAudioIcon()}, - {"FileImageIcon", theme.FileImageIcon()}, - {"FileTextIcon", theme.FileTextIcon()}, - {"FileVideoIcon", theme.FileVideoIcon()}, - {"FolderIcon", theme.FolderIcon()}, - {"FolderNewIcon", theme.FolderNewIcon()}, - {"FolderOpenIcon", theme.FolderOpenIcon()}, - {"ComputerIcon", theme.ComputerIcon()}, - {"HomeIcon", theme.HomeIcon()}, - {"HelpIcon", theme.HelpIcon()}, - {"HistoryIcon", theme.HistoryIcon()}, - {"SettingsIcon", theme.SettingsIcon()}, - {"StorageIcon", theme.StorageIcon()}, - {"DownloadIcon", theme.DownloadIcon()}, - {"UploadIcon", theme.UploadIcon()}, - - {"ViewFullScreenIcon", theme.ViewFullScreenIcon()}, - {"ViewRestoreIcon", theme.ViewRestoreIcon()}, - {"ViewRefreshIcon", theme.ViewRefreshIcon()}, - {"VisibilityIcon", theme.VisibilityIcon()}, - {"VisibilityOffIcon", theme.VisibilityOffIcon()}, - {"ZoomFitIcon", theme.ZoomFitIcon()}, - {"ZoomInIcon", theme.ZoomInIcon()}, - {"ZoomOutIcon", theme.ZoomOutIcon()}, - - {"MoreHorizontalIcon", theme.MoreHorizontalIcon()}, - {"MoreVerticalIcon", theme.MoreVerticalIcon()}, - - {"MoveDownIcon", theme.MoveDownIcon()}, - {"MoveUpIcon", theme.MoveUpIcon()}, - - {"NavigateBackIcon", theme.NavigateBackIcon()}, - {"NavigateNextIcon", theme.NavigateNextIcon()}, - - {"Menu", theme.MenuIcon()}, - {"MenuExpand", theme.MenuExpandIcon()}, - {"MenuDropDown", theme.MenuDropDownIcon()}, - {"MenuDropUp", theme.MenuDropUpIcon()}, - - {"MailAttachmentIcon", theme.MailAttachmentIcon()}, - {"MailComposeIcon", theme.MailComposeIcon()}, - {"MailForwardIcon", theme.MailForwardIcon()}, - {"MailReplyIcon", theme.MailReplyIcon()}, - {"MailReplyAllIcon", theme.MailReplyAllIcon()}, - {"MailSendIcon", theme.MailSendIcon()}, - - {"MediaFastForward", theme.MediaFastForwardIcon()}, - {"MediaFastRewind", theme.MediaFastRewindIcon()}, - {"MediaPause", theme.MediaPauseIcon()}, - {"MediaPlay", theme.MediaPlayIcon()}, - {"MediaStop", theme.MediaStopIcon()}, - {"MediaRecord", theme.MediaRecordIcon()}, - {"MediaReplay", theme.MediaReplayIcon()}, - {"MediaSkipNext", theme.MediaSkipNextIcon()}, - {"MediaSkipPrevious", theme.MediaSkipPreviousIcon()}, - - {"VolumeDown", theme.VolumeDownIcon()}, - {"VolumeMute", theme.VolumeMuteIcon()}, - {"VolumeUp", theme.VolumeUpIcon()}, - - {"AccountIcon", theme.AccountIcon()}, - {"LoginIcon", theme.LoginIcon()}, - {"LogoutIcon", theme.LogoutIcon()}, - - {"ListIcon", theme.ListIcon()}, - {"GridIcon", theme.GridIcon()}, - } -} diff --git a/playground/fyne_demo/tutorials/theme.go b/playground/fyne_demo/tutorials/theme.go deleted file mode 100644 index 9f87253..0000000 --- a/playground/fyne_demo/tutorials/theme.go +++ /dev/null @@ -1,72 +0,0 @@ -package tutorials - -import ( - "image/color" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/theme" -) - -var ( - purple = &color.NRGBA{R: 128, G: 0, B: 128, A: 255} - orange = &color.NRGBA{R: 198, G: 123, B: 0, A: 255} - grey = &color.Gray{Y: 123} -) - -// customTheme is a simple demonstration of a bespoke theme loaded by a Fyne app. -type customTheme struct { -} - -func (customTheme) Color(c fyne.ThemeColorName, _ fyne.ThemeVariant) color.Color { - switch c { - case theme.ColorNameBackground: - return purple - case theme.ColorNameButton, theme.ColorNameDisabled: - return color.Black - case theme.ColorNamePlaceHolder, theme.ColorNameScrollBar: - return grey - case theme.ColorNamePrimary, theme.ColorNameHover, theme.ColorNameFocus: - return orange - case theme.ColorNameShadow: - return &color.RGBA{R: 0xcc, G: 0xcc, B: 0xcc, A: 0xcc} - default: - return color.White - } -} - -func (customTheme) Font(style fyne.TextStyle) fyne.Resource { - return theme.DarkTheme().Font(style) -} - -func (customTheme) Icon(n fyne.ThemeIconName) fyne.Resource { - return theme.DefaultTheme().Icon(n) -} - -func (customTheme) Size(s fyne.ThemeSizeName) float32 { - switch s { - case theme.SizeNamePadding: - return 8 - case theme.SizeNameInlineIcon: - return 20 - case theme.SizeNameScrollBar: - return 10 - case theme.SizeNameScrollBarSmall: - return 5 - case theme.SizeNameText: - return 18 - case theme.SizeNameHeadingText: - return 30 - case theme.SizeNameSubHeadingText: - return 25 - case theme.SizeNameCaptionText: - return 15 - case theme.SizeNameInputBorder: - return 1 - default: - return 0 - } -} - -func newCustomTheme() fyne.Theme { - return &customTheme{} -} diff --git a/playground/fyne_demo/tutorials/welcome.go b/playground/fyne_demo/tutorials/welcome.go deleted file mode 100644 index 9aa5116..0000000 --- a/playground/fyne_demo/tutorials/welcome.go +++ /dev/null @@ -1,42 +0,0 @@ -package tutorials - -import ( - "net/url" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/canvas" - "fyne.io/fyne/v2/cmd/fyne_demo/data" - "fyne.io/fyne/v2/container" - "fyne.io/fyne/v2/widget" -) - -func parseURL(urlStr string) *url.URL { - link, err := url.Parse(urlStr) - if err != nil { - fyne.LogError("Could not parse URL", err) - } - - return link -} - -func welcomeScreen(_ fyne.Window) fyne.CanvasObject { - logo := canvas.NewImageFromResource(data.FyneScene) - logo.FillMode = canvas.ImageFillContain - if fyne.CurrentDevice().IsMobile() { - logo.SetMinSize(fyne.NewSize(171, 125)) - } else { - logo.SetMinSize(fyne.NewSize(228, 167)) - } - - return container.NewCenter(container.NewVBox( - widget.NewLabelWithStyle("Welcome to the Fyne toolkit demo app", fyne.TextAlignCenter, fyne.TextStyle{Bold: true}), - logo, - container.NewHBox( - widget.NewHyperlink("fyne.io", parseURL("https://fyne.io/")), - widget.NewLabel("-"), - widget.NewHyperlink("documentation", parseURL("https://developer.fyne.io/")), - widget.NewLabel("-"), - widget.NewHyperlink("sponsor", parseURL("https://fyne.io/sponsor/")), - ), - )) -} diff --git a/playground/fyne_demo/tutorials/widget.go b/playground/fyne_demo/tutorials/widget.go deleted file mode 100644 index 55ba3cb..0000000 --- a/playground/fyne_demo/tutorials/widget.go +++ /dev/null @@ -1,421 +0,0 @@ -package tutorials - -import ( - "fmt" - "image/color" - "net/url" - "time" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/canvas" - "fyne.io/fyne/v2/container" - "fyne.io/fyne/v2/data/validation" - "fyne.io/fyne/v2/driver/mobile" - "fyne.io/fyne/v2/layout" - "fyne.io/fyne/v2/theme" - "fyne.io/fyne/v2/widget" -) - -const ( - loremIpsum = `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque quis consectetur nisi. Suspendisse id interdum felis. -Sed egestas eget tellus eu pharetra. Praesent pulvinar sed massa id placerat. Etiam sem libero, semper vitae consequat ut, volutpat id mi. -Mauris volutpat pellentesque convallis. Curabitur rutrum venenatis orci nec ornare. Maecenas quis pellentesque neque. -Aliquam consectetur dapibus nulla, id maximus odio ultrices ac. Sed luctus at felis sed faucibus. Cras leo augue, congue in velit ut, mattis rhoncus lectus. - -Praesent viverra, mauris ut ullamcorper semper, leo urna auctor lectus, vitae vehicula mi leo quis lorem. -Nullam condimentum, massa at tempor feugiat, metus enim lobortis velit, eget suscipit eros ipsum quis tellus. Aenean fermentum diam vel felis dictum semper. -Duis nisl orci, tincidunt ut leo quis, luctus vehicula diam. Sed velit justo, congue id augue eu, euismod dapibus lacus. Proin sit amet imperdiet sapien. -Mauris erat urna, fermentum et quam rhoncus, fringilla consequat ante. Vivamus consectetur molestie odio, ac rutrum erat finibus a. -Suspendisse id maximus felis. Sed mauris odio, mattis eget mi eu, consequat tempus purus.` -) - -var ( - progress *widget.ProgressBar - fprogress *widget.ProgressBar - infProgress *widget.ProgressBarInfinite - endProgress chan interface{} -) - -func makeAccordionTab(_ fyne.Window) fyne.CanvasObject { - link, err := url.Parse("https://fyne.io/") - if err != nil { - fyne.LogError("Could not parse URL", err) - } - ac := widget.NewAccordion( - widget.NewAccordionItem("A", widget.NewHyperlink("One", link)), - widget.NewAccordionItem("B", widget.NewLabel("Two")), - &widget.AccordionItem{ - Title: "C", - Detail: widget.NewLabel("Three"), - }, - ) - ac.Append(widget.NewAccordionItem("D", &widget.Entry{Text: "Four"})) - return ac -} - -func makeButtonTab(_ fyne.Window) fyne.CanvasObject { - disabled := widget.NewButton("Disabled", func() {}) - disabled.Disable() - - shareItem := fyne.NewMenuItem("Share via", nil) - shareItem.ChildMenu = fyne.NewMenu("", - fyne.NewMenuItem("Twitter", func() { fmt.Println("context menu Share->Twitter") }), - fyne.NewMenuItem("Reddit", func() { fmt.Println("context menu Share->Reddit") }), - ) - menuLabel := newContextMenuButton("tap me for pop-up menu with submenus", fyne.NewMenu("", - fyne.NewMenuItem("Copy", func() { fmt.Println("context menu copy") }), - shareItem, - )) - - return container.NewVBox( - widget.NewButton("Button (text only)", func() { fmt.Println("tapped text button") }), - widget.NewButtonWithIcon("Button (text & leading icon)", theme.ConfirmIcon(), func() { fmt.Println("tapped text & leading icon button") }), - &widget.Button{ - Alignment: widget.ButtonAlignLeading, - Text: "Button (leading-aligned, text only)", - OnTapped: func() { fmt.Println("tapped leading-aligned, text only button") }, - }, - &widget.Button{ - Alignment: widget.ButtonAlignTrailing, - IconPlacement: widget.ButtonIconTrailingText, - Text: "Button (trailing-aligned, text & trailing icon)", - Icon: theme.ConfirmIcon(), - OnTapped: func() { fmt.Println("tapped trailing-aligned, text & trailing icon button") }, - }, - disabled, - layout.NewSpacer(), - layout.NewSpacer(), - menuLabel, - layout.NewSpacer(), - ) -} - -func makeCardTab(_ fyne.Window) fyne.CanvasObject { - card1 := widget.NewCard("Book a table", "Which time suits?", - widget.NewRadioGroup([]string{"6:30pm", "7:00pm", "7:45pm"}, func(string) {})) - card2 := widget.NewCard("With media", "No content, with image", nil) - card2.Image = canvas.NewImageFromResource(theme.FyneLogo()) - card3 := widget.NewCard("Title 3", "Another card", widget.NewLabel("Content")) - return container.NewGridWithColumns(2, container.NewVBox(card1, card3), - container.NewVBox(card2)) -} - -func makeEntryTab(_ fyne.Window) fyne.CanvasObject { - entry := widget.NewEntry() - entry.SetPlaceHolder("Entry") - entryDisabled := widget.NewEntry() - entryDisabled.SetText("Entry (disabled)") - entryDisabled.Disable() - entryValidated := newNumEntry() - entryValidated.SetPlaceHolder("Must contain a number") - entryMultiLine := widget.NewMultiLineEntry() - entryMultiLine.SetPlaceHolder("MultiLine Entry") - - return container.NewVBox( - entry, - entryDisabled, - entryValidated, - entryMultiLine) -} - -func makeTextGrid() *widget.TextGrid { - grid := widget.NewTextGridFromString("TextGrid\n\tContent\nZebra") - grid.SetStyleRange(0, 4, 0, 7, - &widget.CustomTextGridStyle{BGColor: &color.NRGBA{R: 64, G: 64, B: 192, A: 128}}) - grid.SetRowStyle(1, &widget.CustomTextGridStyle{BGColor: &color.NRGBA{R: 64, G: 192, B: 64, A: 128}}) - - white := &widget.CustomTextGridStyle{FGColor: color.White, BGColor: color.Black} - black := &widget.CustomTextGridStyle{FGColor: color.Black, BGColor: color.White} - grid.Rows[2].Cells[0].Style = white - grid.Rows[2].Cells[1].Style = black - grid.Rows[2].Cells[2].Style = white - grid.Rows[2].Cells[3].Style = black - grid.Rows[2].Cells[4].Style = white - - grid.ShowLineNumbers = true - grid.ShowWhitespace = true - - return grid -} - -func makeTextTab(_ fyne.Window) fyne.CanvasObject { - label := widget.NewLabel("Label") - - link, err := url.Parse("https://fyne.io/") - if err != nil { - fyne.LogError("Could not parse URL", err) - } - hyperlink := widget.NewHyperlink("Hyperlink", link) - - entryLoremIpsum := widget.NewMultiLineEntry() - entryLoremIpsum.SetText(loremIpsum) - - label.Alignment = fyne.TextAlignLeading - hyperlink.Alignment = fyne.TextAlignLeading - - label.Wrapping = fyne.TextWrapWord - hyperlink.Wrapping = fyne.TextWrapWord - entryLoremIpsum.Wrapping = fyne.TextWrapWord - - rich := widget.NewRichTextFromMarkdown(` -# RichText Heading - -## A Sub Heading - ---- - -* Item1 in _three_ segments -* Item2 -* Item3 - -Normal **Bold** *Italic* [Link](https://fyne.io/) and some ` + "`Code`" + `. -This styled row should also wrap as expected, but only *when required*. - -> An interesting quote here, most likely sharing some very interesting wisdom.`) - rich.Scroll = container.ScrollBoth - - radioAlign := widget.NewRadioGroup([]string{"Text Alignment Leading", "Text Alignment Center", "Text Alignment Trailing"}, func(s string) { - var align fyne.TextAlign - switch s { - case "Text Alignment Leading": - align = fyne.TextAlignLeading - case "Text Alignment Center": - align = fyne.TextAlignCenter - case "Text Alignment Trailing": - align = fyne.TextAlignTrailing - } - - label.Alignment = align - hyperlink.Alignment = align - for i := range rich.Segments { - if seg, ok := rich.Segments[i].(*widget.TextSegment); ok { - seg.Style.Alignment = align - } - if seg, ok := rich.Segments[i].(*widget.HyperlinkSegment); ok { - seg.Alignment = align - } - } - - label.Refresh() - hyperlink.Refresh() - rich.Refresh() - }) - radioAlign.SetSelected("Text Alignment Leading") - - radioWrap := widget.NewRadioGroup([]string{"Text Wrapping Off", "Text Wrapping Truncate", "Text Wrapping Break", "Text Wrapping Word"}, func(s string) { - var wrap fyne.TextWrap - switch s { - case "Text Wrapping Off": - wrap = fyne.TextWrapOff - case "Text Wrapping Truncate": - wrap = fyne.TextTruncate - case "Text Wrapping Break": - wrap = fyne.TextWrapBreak - case "Text Wrapping Word": - wrap = fyne.TextWrapWord - } - - label.Wrapping = wrap - hyperlink.Wrapping = wrap - entryLoremIpsum.Wrapping = wrap - rich.Wrapping = wrap - - label.Refresh() - hyperlink.Refresh() - entryLoremIpsum.Refresh() - rich.Refresh() - }) - radioWrap.SetSelected("Text Wrapping Word") - - fixed := container.NewVBox( - container.NewHBox( - radioAlign, - layout.NewSpacer(), - radioWrap, - ), - label, - hyperlink, - ) - - grid := makeTextGrid() - return container.NewBorder(fixed, grid, nil, nil, - container.NewGridWithRows(2, rich, entryLoremIpsum)) - -} - -func makeInputTab(_ fyne.Window) fyne.CanvasObject { - selectEntry := widget.NewSelectEntry([]string{"Option A", "Option B", "Option C"}) - selectEntry.PlaceHolder = "Type or select" - disabledCheck := widget.NewCheck("Disabled check", func(bool) {}) - disabledCheck.Disable() - checkGroup := widget.NewCheckGroup([]string{"CheckGroup Item 1", "CheckGroup Item 2AAAAAAAAAAAAAA", "CheckGroup Item 3"}, func(s []string) { fmt.Println("selected", s) }) - checkGroup.Horizontal = true - radio := widget.NewRadioGroup([]string{"Radio Item 1", "Radio Item 2"}, func(s string) { fmt.Println("selected", s) }) - radio.Horizontal = true - disabledRadio := widget.NewRadioGroup([]string{"Disabled radio"}, func(string) {}) - disabledRadio.Disable() - - return container.NewVBox( - widget.NewSelect([]string{"Option 1", "Option 2", "Option 3"}, func(s string) { fmt.Println("selected", s) }), - selectEntry, - widget.NewCheck("Check", func(on bool) { fmt.Println("checked", on) }), - disabledCheck, - checkGroup, - radio, - disabledRadio, - widget.NewSlider(0, 100), - ) -} - -func makeProgressTab(_ fyne.Window) fyne.CanvasObject { - stopProgress() - - progress = widget.NewProgressBar() - - fprogress = widget.NewProgressBar() - fprogress.TextFormatter = func() string { - return fmt.Sprintf("%.2f out of %.2f", fprogress.Value, fprogress.Max) - } - - infProgress = widget.NewProgressBarInfinite() - endProgress = make(chan interface{}, 1) - startProgress() - - return container.NewVBox( - widget.NewLabel("Percent"), progress, - widget.NewLabel("Formatted"), fprogress, - widget.NewLabel("Infinite"), infProgress) -} - -func makeFormTab(_ fyne.Window) fyne.CanvasObject { - name := widget.NewEntry() - name.SetPlaceHolder("John Smith") - - email := widget.NewEntry() - email.SetPlaceHolder("test@example.com") - email.Validator = validation.NewRegexp(`\w{1,}@\w{1,}\.\w{1,4}`, "not a valid email") - - password := widget.NewPasswordEntry() - password.SetPlaceHolder("Password") - - disabled := widget.NewRadioGroup([]string{"Option 1", "Option 2"}, func(string) {}) - disabled.Horizontal = true - disabled.Disable() - largeText := widget.NewMultiLineEntry() - - form := &widget.Form{ - Items: []*widget.FormItem{ - {Text: "Name", Widget: name, HintText: "Your full name"}, - {Text: "Email", Widget: email, HintText: "A valid email address"}, - }, - OnCancel: func() { - fmt.Println("Cancelled") - }, - OnSubmit: func() { - fmt.Println("Form submitted") - fyne.CurrentApp().SendNotification(&fyne.Notification{ - Title: "Form for: " + name.Text, - Content: largeText.Text, - }) - }, - } - form.Append("Password", password) - form.Append("Disabled", disabled) - form.Append("Message", largeText) - return form -} - -func makeToolbarTab(_ fyne.Window) fyne.CanvasObject { - t := widget.NewToolbar(widget.NewToolbarAction(theme.MailComposeIcon(), func() { fmt.Println("New") }), - widget.NewToolbarSeparator(), - widget.NewToolbarSpacer(), - widget.NewToolbarAction(theme.ContentCutIcon(), func() { fmt.Println("Cut") }), - widget.NewToolbarAction(theme.ContentCopyIcon(), func() { fmt.Println("Copy") }), - widget.NewToolbarAction(theme.ContentPasteIcon(), func() { fmt.Println("Paste") }), - ) - - return container.NewBorder(t, nil, nil, nil) -} - -func startProgress() { - progress.SetValue(0) - fprogress.SetValue(0) - select { // ignore stale end message - case <-endProgress: - default: - } - - go func() { - end := endProgress - num := 0.0 - for num < 1.0 { - time.Sleep(16 * time.Millisecond) - select { - case <-end: - return - default: - } - - progress.SetValue(num) - fprogress.SetValue(num) - num += 0.002 - } - - progress.SetValue(1) - fprogress.SetValue(1) - - // TODO make sure this resets when we hide etc... - stopProgress() - }() - infProgress.Start() -} - -func stopProgress() { - if !infProgress.Running() { - return - } - - infProgress.Stop() - endProgress <- struct{}{} -} - -// widgetScreen shows a panel containing widget demos -func widgetScreen(_ fyne.Window) fyne.CanvasObject { - content := container.NewVBox( - widget.NewLabel("Labels"), - widget.NewButtonWithIcon("Icons", theme.HomeIcon(), func() {}), - widget.NewSlider(0, 1)) - return container.NewCenter(content) -} - -type contextMenuButton struct { - widget.Button - menu *fyne.Menu -} - -func (b *contextMenuButton) Tapped(e *fyne.PointEvent) { - widget.ShowPopUpMenuAtPosition(b.menu, fyne.CurrentApp().Driver().CanvasForObject(b), e.AbsolutePosition) -} - -func newContextMenuButton(label string, menu *fyne.Menu) *contextMenuButton { - b := &contextMenuButton{menu: menu} - b.Text = label - - b.ExtendBaseWidget(b) - return b -} - -type numEntry struct { - widget.Entry -} - -func (n *numEntry) Keyboard() mobile.KeyboardType { - return mobile.NumberKeyboard -} - -func newNumEntry() *numEntry { - e := &numEntry{} - e.ExtendBaseWidget(e) - e.Validator = validation.NewRegexp(`\d`, "Must contain a number") - return e -} diff --git a/playground/fyne_demo/tutorials/window.go b/playground/fyne_demo/tutorials/window.go deleted file mode 100644 index ba244be..0000000 --- a/playground/fyne_demo/tutorials/window.go +++ /dev/null @@ -1,71 +0,0 @@ -package tutorials - -import ( - "time" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/container" - "fyne.io/fyne/v2/driver/desktop" - "fyne.io/fyne/v2/layout" - "fyne.io/fyne/v2/widget" -) - -func windowScreen(_ fyne.Window) fyne.CanvasObject { - windowGroup := container.NewVBox( - widget.NewButton("New window", func() { - w := fyne.CurrentApp().NewWindow("Hello") - w.SetContent(widget.NewLabel("Hello World!")) - w.Show() - }), - widget.NewButton("Fixed size window", func() { - w := fyne.CurrentApp().NewWindow("Fixed") - w.SetContent(fyne.NewContainerWithLayout(layout.NewCenterLayout(), widget.NewLabel("Hello World!"))) - - w.Resize(fyne.NewSize(240, 180)) - w.SetFixedSize(true) - w.Show() - }), - widget.NewButton("Toggle between fixed/not fixed window size", func() { - w := fyne.CurrentApp().NewWindow("Toggle fixed size") - w.SetContent(fyne.NewContainerWithLayout(layout.NewCenterLayout(), widget.NewCheck("Fixed size", func(toggle bool) { - if toggle { - w.Resize(fyne.NewSize(240, 180)) - } - w.SetFixedSize(toggle) - }))) - w.Show() - }), - widget.NewButton("Centered window", func() { - w := fyne.CurrentApp().NewWindow("Central") - w.SetContent(fyne.NewContainerWithLayout(layout.NewCenterLayout(), widget.NewLabel("Hello World!"))) - - w.CenterOnScreen() - w.Show() - })) - - drv := fyne.CurrentApp().Driver() - if drv, ok := drv.(desktop.Driver); ok { - windowGroup.Objects = append(windowGroup.Objects, - widget.NewButton("Splash Window (only use on start)", func() { - w := drv.CreateSplashWindow() - w.SetContent(widget.NewLabelWithStyle("Hello World!\n\nMake a splash!", - fyne.TextAlignCenter, fyne.TextStyle{Bold: true})) - w.Show() - - go func() { - time.Sleep(time.Second * 3) - w.Close() - }() - })) - } - - otherGroup := widget.NewCard("Other", "", - widget.NewButton("Notification", func() { - fyne.CurrentApp().SendNotification(&fyne.Notification{ - Title: "Fyne Demo", - Content: "Testing notifications...", - }) - })) - - return container.NewVBox(widget.NewCard("Windows", "", windowGroup), otherGroup) -}