From 9a2ce35ffae3d004861a2927f2e8c12853065cf0 Mon Sep 17 00:00:00 2001 From: maaeps Date: Thu, 5 Mar 2020 12:42:38 +0100 Subject: [PATCH 01/30] Created ParseLiveList --- lib/parse_server_sdk.dart | 1 + lib/src/utils/parse_live_list.dart | 4 ++++ 2 files changed, 5 insertions(+) create mode 100644 lib/src/utils/parse_live_list.dart diff --git a/lib/parse_server_sdk.dart b/lib/parse_server_sdk.dart index 69483c77c..c8950d096 100644 --- a/lib/parse_server_sdk.dart +++ b/lib/parse_server_sdk.dart @@ -21,6 +21,7 @@ import 'package:xxtea/xxtea.dart'; export 'src/network/parse_live_query.dart' if (dart.library.js) 'src/network/parse_live_query_web.dart'; +export 'src/utils/parse_live_list.dart'; part 'package:parse_server_sdk/src/objects/response/parse_error_response.dart'; diff --git a/lib/src/utils/parse_live_list.dart b/lib/src/utils/parse_live_list.dart new file mode 100644 index 000000000..c4d6a15d4 --- /dev/null +++ b/lib/src/utils/parse_live_list.dart @@ -0,0 +1,4 @@ +import '../../parse_server_sdk.dart'; + +class ParseLiveList { +} From 442b18834bb40a67e3c828c44bc6b297cea40b63 Mon Sep 17 00:00:00 2001 From: maaeps Date: Sat, 7 Mar 2020 20:35:15 +0100 Subject: [PATCH 02/30] LiveList & LivListBuilder works --- lib/src/utils/parse_live_list.dart | 309 +++++++++++++++++++++++++++++ 1 file changed, 309 insertions(+) diff --git a/lib/src/utils/parse_live_list.dart b/lib/src/utils/parse_live_list.dart index c4d6a15d4..7c35af9b3 100644 --- a/lib/src/utils/parse_live_list.dart +++ b/lib/src/utils/parse_live_list.dart @@ -1,4 +1,313 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; + import '../../parse_server_sdk.dart'; class ParseLiveList { + ParseLiveList._(this._query); + + static Future> create( + QueryBuilder _query) { + final ParseLiveList parseLiveList = ParseLiveList._(_query); + + return parseLiveList._init().then((_) { + //TODO: Error-handling + return parseLiveList; + }); + } + +// final List> _loadedElements = +// List>(); + List> _list = List>(); + StreamController> _eventStreamController; + int _nextID = 0; + +// static Future get create() { +// } + + /// is object1 listed after object2? + /// can return null + bool after(T object1, T object2) { + List fields = List(); + + if (_query.limiters.containsKey('order')) { + fields = _query.limiters['order'].toString().split(','); + } + fields.add(keyVarCreatedAt); + for (String key in fields) { + bool reverse = false; + if (key.startsWith('-')) { + reverse = true; + key = key.substring(1); + } + final dynamic val1 = object1.get(key); + final dynamic val2 = object2.get(key); + + if (val1 == null && val2 == null) break; + if (val1 == null) return reverse; + if (val2 == null) return !reverse; + + if (val1 is num && val2 is num) { + if ((val1 as num) < (val2 as num)) return reverse; + if ((val1 as num) > (val2 as num)) return !reverse; + } else if (val1 is String && val2 is String) { + if (val1.toString().compareTo(val2) < 0) return reverse; + if (val1.toString().compareTo(val2) > 0) return !reverse; + } else if (val1 is DateTime && val2 is DateTime) { + if ((val1 as DateTime).isAfter(val2)) return !reverse; + if ((val1 as DateTime).isBefore(val2)) return reverse; + } + } + return null; + } + + int get nextID => _nextID++; + + final QueryBuilder _query; +// int _size; + + int get size { + return _list.length; + } + + Stream> get stream => _eventStreamController.stream; + Subscription _subscription; + + Future _init() async { + _eventStreamController = StreamController>(); +// final ParseResponse parseResponse = await _query.count(); +// _size = parseResponse.count; + + final QueryBuilder query = QueryBuilder.copy(_query); + if (query.limiters.containsKey('order')) { + query.keysToReturn( + query.limiters['order'].toString().split(',').map((String string) { + if (string.startsWith('-')) return string.substring(1); + return string; + }).toList()); + } else { + query.keysToReturn(List()); + } + + final ParseResponse parseResponse = await query.query(); + if (parseResponse.success) { + _list = parseResponse.results + .map>( + (dynamic element) => ParseLiveListElement(element)) + .toList(); + _list.forEach((ParseLiveListElement element) => print(element.object)); + } + + LiveQuery() + .client + .subscribe(QueryBuilder.copy(_query)) + .then((Subscription subscription) { + _subscription = subscription; + subscription.on(LiveQueryEvent.create, _objectAdded); + subscription.on(LiveQueryEvent.update, _objectUpdated); + subscription.on(LiveQueryEvent.enter, _objectAdded); + subscription.on(LiveQueryEvent.leave, _objectDeleted); + subscription.on(LiveQueryEvent.delete, _objectDeleted); + }); + return size; + } + +// int _findObjectIndex(T object) { +// for (int i = 0; i < _loadedElements.length; i++) { +// if (after(object, _loadedElements[i].object) != false) return i; +// } +// return _loadedElements.length; +// } + + void _objectAdded(T object) { + for (int i = 0; i < _list.length; i++) { + if (after(object, _list[i].object) != true) { + _list.insert(i, ParseLiveListElement(object, loaded: true)); + _eventStreamController.sink.add(LiveListAddEvent(i, object)); + return; + } + } + _list.add(ParseLiveListElement(object, loaded: true)); + _eventStreamController.sink + .add(LiveListAddEvent(_list.length - 1, object)); + } + + void _objectUpdated(T object) { + for (int i = 0; i < _list.length; i++) { + if (_list[i].object.get(keyVarObjectId) == + object.get(keyVarObjectId)) { + _list[i] = ParseLiveListElement(object, loaded: true); + _eventStreamController.sink.add(LiveListUpdateEvent(i, object)); + break; + } + } + } + + void _objectDeleted(T object) { + for (int i = 0; i < _list.length; i++) { + if (_list[i].object.get(keyVarObjectId) == + object.get(keyVarObjectId)) { + _list.removeAt(i); + _eventStreamController.sink.add(LiveListDeleteEvent(i, object)); + break; + } + } + } + + Future getAt(final int i) async { + if (!_list[i].loaded) { + final QueryBuilder queryBuilder = QueryBuilder.copy(_query) + ..whereEqualTo( + keyVarObjectId, _list[i].object.get(keyVarObjectId)) + ..setLimit(1); + final ParseResponse response = await queryBuilder.query(); + if (response.success) { + _list[i] = + ParseLiveListElement(response.results.first, loaded: false); + } else { + throw response.error; + } +// final QueryBuilder queryBuilder = QueryBuilder.copy(_query) +// ..setAmountToSkip(i) +// ..setLimit(1); +// try { +// print('load $i'); +// final ParseResponse response = await queryBuilder.query(); +// +// if (response.success) { +//// print('load $i success: ${response.results.first}'); +// _loadedElements[i].object = response.results.first; +// } else { +// print('load $i error'); +// print(response.error); +// } +// } on Exception catch (e) { +// print('load $i exception'); +// print(e); +// } + } + return _list[i].object; + } + + String idOf(int index) { + return _list[index].object.get(keyVarObjectId); + } + + void test() { + for (int j = 0; j < _list.length; ++j) { + for (int k = 0; k < _list.length; ++k) { + print( + '${_list[j].object.get("text")} after ${_list[k].object.get("text")}: ${after(_list[j].object, _list[k].object)}'); + } + } + } +} + +class ParseLiveListElement { + ParseLiveListElement(this.object, {this.loaded = false}); + + T object; + bool loaded; +} + +class ParseLiveListBuilder extends StatefulWidget { + const ParseLiveListBuilder({ + Key key, + @required this.query, + this.listLoadingElement, + }) : super(key: key); + + final QueryBuilder query; + final Widget listLoadingElement; + + @override + _ParseLiveListBuilderState createState() => + _ParseLiveListBuilderState(query); +} + +class _ParseLiveListBuilderState + extends State> { + _ParseLiveListBuilderState(this._query) { + ParseLiveList.create(_query).then((ParseLiveList value) { + setState(() { + _liveList = value; + _liveList.stream.listen((LiveListEvent event) { + setState(() {}); + }); + }); + }); + } + + final QueryBuilder _query; + ParseLiveList _liveList; + + @override + Widget build(BuildContext context) { + return _liveList == null + ? widget.listLoadingElement == null + ? Container() + : widget.listLoadingElement + : Row( + children: [ + FlatButton( + onPressed: _liveList.test, + child: Text("test"), + ), + Expanded( + child: ListView.builder( + itemBuilder: (context, index) => FutureBuilder( + key: ValueKey(_liveList.idOf(index)), + future: _liveList.getAt(index), + builder: (BuildContext context, + AsyncSnapshot snapshot) { + print('$index: ${snapshot.connectionState}'); + if (snapshot.hasData) { + return ListTile( + title: Text( + snapshot.data.get("text"), + ), + ); + } + return Text("loading"); + }, + ), + itemCount: _liveList.size, + ), + ), + ], + ); + } +} + +//abstract class LiveListEvent {} +// +//class LiveListSizeEvent extends LiveListEvent { +// LiveListSizeEvent(this._size); +// +// final int _size; +// +// int get size => _size; +//} + +abstract class LiveListEvent { + LiveListEvent(this._index, this._object); //, this._object); + + final int _index; + final T _object; + + int get index => _index; + T get object => _object; +} + +class LiveListAddEvent extends LiveListEvent { + LiveListAddEvent(int index, T object) : super(index, object); +} + +class LiveListDeleteEvent extends LiveListEvent { + LiveListDeleteEvent(int index, T object) : super(index, object); +} + +class LiveListUpdateEvent extends LiveListEvent { + LiveListUpdateEvent(int index, T object) : super(index, object); } From 3ab512141fed7fba997483fa0e90e239761b84ff Mon Sep 17 00:00:00 2001 From: maaeps Date: Sat, 7 Mar 2020 20:40:51 +0100 Subject: [PATCH 03/30] Cleanup --- lib/src/utils/parse_live_list.dart | 79 +++++++----------------------- 1 file changed, 19 insertions(+), 60 deletions(-) diff --git a/lib/src/utils/parse_live_list.dart b/lib/src/utils/parse_live_list.dart index 7c35af9b3..acff38a5f 100644 --- a/lib/src/utils/parse_live_list.dart +++ b/lib/src/utils/parse_live_list.dart @@ -65,7 +65,6 @@ class ParseLiveList { int get nextID => _nextID++; final QueryBuilder _query; -// int _size; int get size { return _list.length; @@ -76,8 +75,6 @@ class ParseLiveList { Future _init() async { _eventStreamController = StreamController>(); -// final ParseResponse parseResponse = await _query.count(); -// _size = parseResponse.count; final QueryBuilder query = QueryBuilder.copy(_query); if (query.limiters.containsKey('order')) { @@ -96,7 +93,6 @@ class ParseLiveList { .map>( (dynamic element) => ParseLiveListElement(element)) .toList(); - _list.forEach((ParseLiveListElement element) => print(element.object)); } LiveQuery() @@ -168,24 +164,6 @@ class ParseLiveList { } else { throw response.error; } -// final QueryBuilder queryBuilder = QueryBuilder.copy(_query) -// ..setAmountToSkip(i) -// ..setLimit(1); -// try { -// print('load $i'); -// final ParseResponse response = await queryBuilder.query(); -// -// if (response.success) { -//// print('load $i success: ${response.results.first}'); -// _loadedElements[i].object = response.results.first; -// } else { -// print('load $i error'); -// print(response.error); -// } -// } on Exception catch (e) { -// print('load $i exception'); -// print(e); -// } } return _list[i].object; } @@ -193,15 +171,6 @@ class ParseLiveList { String idOf(int index) { return _list[index].object.get(keyVarObjectId); } - - void test() { - for (int j = 0; j < _list.length; ++j) { - for (int k = 0; k < _list.length; ++k) { - print( - '${_list[j].object.get("text")} after ${_list[k].object.get("text")}: ${after(_list[j].object, _list[k].object)}'); - } - } - } } class ParseLiveListElement { @@ -240,7 +209,7 @@ class _ParseLiveListBuilderState } final QueryBuilder _query; - ParseLiveList _liveList; + ParseLiveList _liveList; @override Widget build(BuildContext context) { @@ -248,34 +217,24 @@ class _ParseLiveListBuilderState ? widget.listLoadingElement == null ? Container() : widget.listLoadingElement - : Row( - children: [ - FlatButton( - onPressed: _liveList.test, - child: Text("test"), - ), - Expanded( - child: ListView.builder( - itemBuilder: (context, index) => FutureBuilder( - key: ValueKey(_liveList.idOf(index)), - future: _liveList.getAt(index), - builder: (BuildContext context, - AsyncSnapshot snapshot) { - print('$index: ${snapshot.connectionState}'); - if (snapshot.hasData) { - return ListTile( - title: Text( - snapshot.data.get("text"), - ), - ); - } - return Text("loading"); - }, - ), - itemCount: _liveList.size, - ), - ), - ], + : ListView.builder( + itemBuilder: (BuildContext context, int index) => FutureBuilder( + key: ValueKey(_liveList.idOf(index)), + future: _liveList.getAt(index), + builder: + (BuildContext context, AsyncSnapshot snapshot) { + print('$index: ${snapshot.connectionState}'); + if (snapshot.hasData) { + return ListTile( + title: Text( + snapshot.data.get("text"), + ), + ); + } + return Text("loading"); + }, + ), + itemCount: _liveList.size, ); } } From 567316ef1ded6df1507fbf73832a93a62646fc39 Mon Sep 17 00:00:00 2001 From: maaeps Date: Sat, 7 Mar 2020 21:18:52 +0100 Subject: [PATCH 04/30] changed to animated list --- lib/src/utils/parse_live_list.dart | 82 ++++++++++++++++++++++-------- 1 file changed, 62 insertions(+), 20 deletions(-) diff --git a/lib/src/utils/parse_live_list.dart b/lib/src/utils/parse_live_list.dart index acff38a5f..5f102d401 100644 --- a/lib/src/utils/parse_live_list.dart +++ b/lib/src/utils/parse_live_list.dart @@ -202,7 +202,17 @@ class _ParseLiveListBuilderState setState(() { _liveList = value; _liveList.stream.listen((LiveListEvent event) { - setState(() {}); + if (event is LiveListAddEvent) { + if (_animatedListKey.currentState != null) + _animatedListKey.currentState.insertItem(event.index); + } else if (event is LiveListDeleteEvent) { + _animatedListKey.currentState.removeItem( + event.index, + (context, animation) => SizeTransition( + sizeFactor: animation, + child: const ListTile(), + )); + } else if (event is LiveListUpdateEvent) {} }); }); }); @@ -210,6 +220,8 @@ class _ParseLiveListBuilderState final QueryBuilder _query; ParseLiveList _liveList; + final GlobalKey _animatedListKey = + GlobalKey(); @override Widget build(BuildContext context) { @@ -217,25 +229,55 @@ class _ParseLiveListBuilderState ? widget.listLoadingElement == null ? Container() : widget.listLoadingElement - : ListView.builder( - itemBuilder: (BuildContext context, int index) => FutureBuilder( - key: ValueKey(_liveList.idOf(index)), - future: _liveList.getAt(index), - builder: - (BuildContext context, AsyncSnapshot snapshot) { - print('$index: ${snapshot.connectionState}'); - if (snapshot.hasData) { - return ListTile( - title: Text( - snapshot.data.get("text"), - ), - ); - } - return Text("loading"); - }, - ), - itemCount: _liveList.size, - ); + : buildAniatedList(); + } + + Widget buildAniatedList() { + return AnimatedList( + key: _animatedListKey, + initialItemCount: _liveList.size, + itemBuilder: (context, index, animation) => SizeTransition( + key: ValueKey(_liveList.idOf(index)), + sizeFactor: animation, + child: FutureBuilder( + future: _liveList.getAt(index), + builder: (BuildContext context, AsyncSnapshot snapshot) { + print('$index: ${snapshot.connectionState}'); + if (snapshot.hasData) { + return ListTile( + title: Text( + snapshot.data.get("text"), + ), + ); + } + return const ListTile( + leading: CircularProgressIndicator(), + ); + }, + ), + ), + ); + } + + Widget buildList() { + return ListView.builder( + itemBuilder: (BuildContext context, int index) => FutureBuilder( + key: ValueKey(_liveList.idOf(index)), + future: _liveList.getAt(index), + builder: (BuildContext context, AsyncSnapshot snapshot) { + print('$index: ${snapshot.connectionState}'); + if (snapshot.hasData) { + return ListTile( + title: Text( + snapshot.data.get("text"), + ), + ); + } + return Text("loading"); + }, + ), + itemCount: _liveList.size, + ); } } From aba20038b624eccd4751b4aade7280fa4c8a6eff Mon Sep 17 00:00:00 2001 From: maaeps Date: Sun, 8 Mar 2020 12:35:32 +0100 Subject: [PATCH 05/30] Fix in dataloading --- lib/src/utils/parse_live_list.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/utils/parse_live_list.dart b/lib/src/utils/parse_live_list.dart index 5f102d401..832beb33b 100644 --- a/lib/src/utils/parse_live_list.dart +++ b/lib/src/utils/parse_live_list.dart @@ -160,7 +160,7 @@ class ParseLiveList { final ParseResponse response = await queryBuilder.query(); if (response.success) { _list[i] = - ParseLiveListElement(response.results.first, loaded: false); + ParseLiveListElement(response.results.first, loaded: true); } else { throw response.error; } From 35f4d21eae244d5643de9e6e7f6102d452683835 Mon Sep 17 00:00:00 2001 From: maaeps Date: Sun, 8 Mar 2020 12:36:37 +0100 Subject: [PATCH 06/30] updated AnimatedList --- lib/src/utils/parse_live_list.dart | 204 +++++++++++++++++++++++------ 1 file changed, 163 insertions(+), 41 deletions(-) diff --git a/lib/src/utils/parse_live_list.dart b/lib/src/utils/parse_live_list.dart index 832beb33b..17ddbe148 100644 --- a/lib/src/utils/parse_live_list.dart +++ b/lib/src/utils/parse_live_list.dart @@ -171,6 +171,11 @@ class ParseLiveList { String idOf(int index) { return _list[index].object.get(keyVarObjectId); } + + T getLoadedAt(int index) { + if (_list[index].loaded) return _list[index].object; + return null; + } } class ParseLiveListElement { @@ -229,58 +234,175 @@ class _ParseLiveListBuilderState ? widget.listLoadingElement == null ? Container() : widget.listLoadingElement - : buildAniatedList(); + : buildAnimatedList(); } - Widget buildAniatedList() { + Widget buildAnimatedList() { +// return ReorderableListView return AnimatedList( - key: _animatedListKey, - initialItemCount: _liveList.size, - itemBuilder: (context, index, animation) => SizeTransition( - key: ValueKey(_liveList.idOf(index)), - sizeFactor: animation, - child: FutureBuilder( - future: _liveList.getAt(index), - builder: (BuildContext context, AsyncSnapshot snapshot) { - print('$index: ${snapshot.connectionState}'); - if (snapshot.hasData) { - return ListTile( - title: Text( - snapshot.data.get("text"), - ), - ); - } - return const ListTile( - leading: CircularProgressIndicator(), - ); - }, + key: _animatedListKey, + initialItemCount: _liveList.size, + itemBuilder: (context, index, animation) { + final T loadedData = _liveList.getLoadedAt(index); + return ListElement( + key: ValueKey(_liveList.idOf(index)), + future: _liveList.getAt(index), + loadedData: loadedData, + sizeFactor: animation, + ); + }); + } +// +// Widget buildList() { +// return ListView.builder( +// itemBuilder: (BuildContext context, int index) => FutureBuilder( +// key: ValueKey(_liveList.idOf(index)), +// future: _liveList.getAt(index), +// builder: (BuildContext context, AsyncSnapshot snapshot) { +// print('$index: ${snapshot.connectionState}'); +// if (snapshot.hasData) { +// return ListTile( +// title: Text( +// snapshot.data.get("text"), +// ), +// ); +// } +// return Text("loading"); +// }, +// ), +// itemCount: _liveList.size, +// ); +// } +} + +class ListElement extends StatefulWidget { + ListElement( + {Key key, this.future, this.loadedData, @required this.sizeFactor}) + : super(key: key); + + final Future future; + T loadedData; + final Animation sizeFactor; + + @override + _ListElementState createState() { + return _ListElementState(loadedData); + } +} + +class _ListElementState extends State> { + _ListElementState(this.loadedData); + T loadedData; +// final int random = Random().nextInt(6); + + Widget buildChild(BuildContext context, AsyncSnapshot snapshot) { + Widget child; + if (snapshot.hasData) { + loadedData = snapshot.data; + child = ListTile( + title: Text( + snapshot.data.get('text'), ), + ); + } else if (snapshot.hasError) { + child = const Text('something went wrong!'); + } else { + child = const ListTile( + leading: CircularProgressIndicator(), + ); + child = const Text('something went wrong!'); + } + + return AnimatedContainer( + child: SizeTransition( + child: child, + sizeFactor: widget.sizeFactor, ), + duration: const Duration(seconds: 1), ); } - Widget buildList() { - return ListView.builder( - itemBuilder: (BuildContext context, int index) => FutureBuilder( - key: ValueKey(_liveList.idOf(index)), - future: _liveList.getAt(index), - builder: (BuildContext context, AsyncSnapshot snapshot) { - print('$index: ${snapshot.connectionState}'); - if (snapshot.hasData) { - return ListTile( - title: Text( - snapshot.data.get("text"), - ), - ); - } - return Text("loading"); - }, - ), - itemCount: _liveList.size, - ); + @override + Widget build(BuildContext context) { + if (loadedData != null) { + return FutureBuilder( + key: ValueKey(loadedData), + initialData: loadedData, + builder: buildChild, + ); + } else { + return FutureBuilder( + key: ValueKey>(widget.future), + future: widget.future, + builder: buildChild, + ); + } } } +//class SizeFadeTransition extends StatefulWidget { +// final Animation animation; +// final Curve curve; +// final double sizeFraction; +// final Axis axis; +// final double axisAlignment; +// final Widget child; +// const SizeFadeTransition({ +// Key key, +// @required this.animation, +// this.sizeFraction = 2 / 3, +// this.curve = Curves.linear, +// this.axis = Axis.vertical, +// this.axisAlignment = 0.0, +// this.child, +// }) : assert(animation != null), +// assert(axisAlignment != null), +// assert(axis != null), +// assert(curve != null), +// assert(sizeFraction != null), +// assert(sizeFraction >= 0.0 && sizeFraction <= 1.0), +// super(key: key); +// +// @override +// _SizeFadeTransitionState createState() => _SizeFadeTransitionState(); +//} +// +//class _SizeFadeTransitionState extends State { +// Animation size; +// Animation opacity; +// +// @override +// void initState() { +// super.initState(); +// didUpdateWidget(widget); +// } +// +// @override +// void didUpdateWidget(SizeFadeTransition oldWidget) { +// super.didUpdateWidget(oldWidget); +// +// final curve = +// CurvedAnimation(parent: widget.animation, curve: widget.curve); +// size = CurvedAnimation( +// curve: Interval(0.0, widget.sizeFraction), parent: curve); +// opacity = CurvedAnimation( +// curve: Interval(widget.sizeFraction, 1.0), parent: curve); +// } +// +// @override +// Widget build(BuildContext context) { +// return SizeTransition( +// sizeFactor: size, +// axis: widget.axis, +// axisAlignment: widget.axisAlignment, +// child: FadeTransition( +// opacity: opacity, +// child: widget.child, +// ), +// ); +// } +//} + //abstract class LiveListEvent {} // //class LiveListSizeEvent extends LiveListEvent { From a28fee3eca9e154c280225f84eaddacb743bc77f Mon Sep 17 00:00:00 2001 From: maaeps Date: Mon, 9 Mar 2020 16:41:32 +0100 Subject: [PATCH 07/30] Finished Animations & cleanup --- lib/src/utils/parse_live_list.dart | 338 ++++++++++++++--------------- 1 file changed, 162 insertions(+), 176 deletions(-) diff --git a/lib/src/utils/parse_live_list.dart b/lib/src/utils/parse_live_list.dart index 17ddbe148..2fe2ca960 100644 --- a/lib/src/utils/parse_live_list.dart +++ b/lib/src/utils/parse_live_list.dart @@ -17,15 +17,10 @@ class ParseLiveList { }); } -// final List> _loadedElements = -// List>(); List> _list = List>(); StreamController> _eventStreamController; int _nextID = 0; -// static Future get create() { -// } - /// is object1 listed after object2? /// can return null bool after(T object1, T object2) { @@ -109,13 +104,6 @@ class ParseLiveList { return size; } -// int _findObjectIndex(T object) { -// for (int i = 0; i < _loadedElements.length; i++) { -// if (after(object, _loadedElements[i].object) != false) return i; -// } -// return _loadedElements.length; -// } - void _objectAdded(T object) { for (int i = 0; i < _list.length; i++) { if (after(object, _list[i].object) != true) { @@ -133,7 +121,7 @@ class ParseLiveList { for (int i = 0; i < _list.length; i++) { if (_list[i].object.get(keyVarObjectId) == object.get(keyVarObjectId)) { - _list[i] = ParseLiveListElement(object, loaded: true); + _list[i].object = object; _eventStreamController.sink.add(LiveListUpdateEvent(i, object)); break; } @@ -144,14 +132,14 @@ class ParseLiveList { for (int i = 0; i < _list.length; i++) { if (_list[i].object.get(keyVarObjectId) == object.get(keyVarObjectId)) { - _list.removeAt(i); + _list.removeAt(i).dispose(); _eventStreamController.sink.add(LiveListDeleteEvent(i, object)); break; } } } - Future getAt(final int i) async { + Stream getAt(final int i) async* { if (!_list[i].loaded) { final QueryBuilder queryBuilder = QueryBuilder.copy(_query) ..whereEqualTo( @@ -159,13 +147,15 @@ class ParseLiveList { ..setLimit(1); final ParseResponse response = await queryBuilder.query(); if (response.success) { - _list[i] = - ParseLiveListElement(response.results.first, loaded: true); + _list[i].object = response.results.first; } else { throw response.error; } } - return _list[i].object; +// just for testing +// await Future.delayed(const Duration(seconds: 2)); + yield _list[i].object; + yield* _list[i].stream; } String idOf(int index) { @@ -179,30 +169,97 @@ class ParseLiveList { } class ParseLiveListElement { - ParseLiveListElement(this.object, {this.loaded = false}); + ParseLiveListElement(this._object, {bool loaded = false}) { + if (_object != null) _loaded = loaded; + } + + final StreamController _streamController = StreamController.broadcast(); + T _object; + bool _loaded = false; + + Stream get stream => _streamController?.stream; + + T get object => _object; - T object; - bool loaded; + set object(T value) { + _loaded = true; + _object = value; + _streamController?.add(object); + } + + bool get loaded => _loaded; + + void dispose() { + _streamController.close(); + } } +typedef Stream StreamGetter(); +typedef T DataGetter(); +typedef Widget ChildBuilder( + BuildContext context, bool failed, T loadedData); +typedef Widget RemovedItemBuilder( + BuildContext context, int index, T oldObject); + class ParseLiveListBuilder extends StatefulWidget { - const ParseLiveListBuilder({ - Key key, - @required this.query, - this.listLoadingElement, - }) : super(key: key); + const ParseLiveListBuilder( + {Key key, + @required this.query, + this.listLoadingElement, + this.duration = const Duration(milliseconds: 300), + this.scrollPhysics, + this.scrollController, + this.scrollDirection = Axis.vertical, + this.padding, + this.primary, + this.reverse = false, + this.childBuilder, + this.shrinkWrap = false, + this.removedItemBuilder}) + : super(key: key); final QueryBuilder query; final Widget listLoadingElement; + final Duration duration; + final ScrollPhysics scrollPhysics; + final ScrollController scrollController; + + final Axis scrollDirection; + final EdgeInsetsGeometry padding; + final bool primary; + final bool reverse; + final bool shrinkWrap; + + final ChildBuilder childBuilder; + final RemovedItemBuilder removedItemBuilder; @override _ParseLiveListBuilderState createState() => - _ParseLiveListBuilderState(query); + _ParseLiveListBuilderState(query, removedItemBuilder); + + static Widget defaultChildBuilder( + BuildContext context, bool failed, T loadedData) { + Widget child; + if (failed) { + child = const Text('something went wrong!'); + } else if (loadedData != null) { + child = ListTile( + title: Text( + loadedData.get(keyVarObjectId), + ), + ); + } else { + child = const ListTile( + leading: CircularProgressIndicator(), + ); + } + return child; + } } class _ParseLiveListBuilderState extends State> { - _ParseLiveListBuilderState(this._query) { + _ParseLiveListBuilderState(this._query, this.removedItemBuilder) { ParseLiveList.create(_query).then((ParseLiveList value) { setState(() { _liveList = value; @@ -213,11 +270,25 @@ class _ParseLiveListBuilderState } else if (event is LiveListDeleteEvent) { _animatedListKey.currentState.removeItem( event.index, - (context, animation) => SizeTransition( + (BuildContext context, Animation animation) => + ListElement( + key: ValueKey(event.object?.get( + keyVarObjectId, + defaultValue: 'removingItem')), + childBuilder: widget.childBuilder ?? + ParseLiveListBuilder.defaultChildBuilder, sizeFactor: animation, - child: const ListTile(), + duration: widget.duration, + loadedData: () => event.object, )); - } else if (event is LiveListUpdateEvent) {} +// SizeTransition( +// sizeFactor: animation, +// child: removedItemBuilder != null +// ? removedItemBuilder( +// context, event.index, event.object) +// : , +// )); + } }); }); }); @@ -227,6 +298,7 @@ class _ParseLiveListBuilderState ParseLiveList _liveList; final GlobalKey _animatedListKey = GlobalKey(); + final RemovedItemBuilder removedItemBuilder; @override Widget build(BuildContext context) { @@ -238,181 +310,95 @@ class _ParseLiveListBuilderState } Widget buildAnimatedList() { -// return ReorderableListView return AnimatedList( key: _animatedListKey, + physics: widget.scrollPhysics, + controller: widget.scrollController, + scrollDirection: widget.scrollDirection, + padding: widget.padding, + primary: widget.primary, + reverse: widget.reverse, + shrinkWrap: widget.shrinkWrap, initialItemCount: _liveList.size, - itemBuilder: (context, index, animation) { - final T loadedData = _liveList.getLoadedAt(index); + itemBuilder: + (BuildContext context, int index, Animation animation) { return ListElement( key: ValueKey(_liveList.idOf(index)), - future: _liveList.getAt(index), - loadedData: loadedData, + stream: () => _liveList.getAt(index), + loadedData: () => _liveList.getLoadedAt(index), sizeFactor: animation, + duration: widget.duration, + childBuilder: + widget.childBuilder ?? ParseLiveListBuilder.defaultChildBuilder, ); }); } -// -// Widget buildList() { -// return ListView.builder( -// itemBuilder: (BuildContext context, int index) => FutureBuilder( -// key: ValueKey(_liveList.idOf(index)), -// future: _liveList.getAt(index), -// builder: (BuildContext context, AsyncSnapshot snapshot) { -// print('$index: ${snapshot.connectionState}'); -// if (snapshot.hasData) { -// return ListTile( -// title: Text( -// snapshot.data.get("text"), -// ), -// ); -// } -// return Text("loading"); -// }, -// ), -// itemCount: _liveList.size, -// ); -// } } class ListElement extends StatefulWidget { - ListElement( - {Key key, this.future, this.loadedData, @required this.sizeFactor}) + const ListElement( + {Key key, + this.stream, + this.loadedData, + @required this.sizeFactor, + @required this.duration, + @required this.childBuilder}) : super(key: key); - final Future future; - T loadedData; + final StreamGetter stream; + final DataGetter loadedData; final Animation sizeFactor; + final Duration duration; + final ChildBuilder childBuilder; @override _ListElementState createState() { - return _ListElementState(loadedData); + return _ListElementState(loadedData, stream); } } -class _ListElementState extends State> { - _ListElementState(this.loadedData); - T loadedData; -// final int random = Random().nextInt(6); - - Widget buildChild(BuildContext context, AsyncSnapshot snapshot) { - Widget child; - if (snapshot.hasData) { - loadedData = snapshot.data; - child = ListTile( - title: Text( - snapshot.data.get('text'), - ), - ); - } else if (snapshot.hasError) { - child = const Text('something went wrong!'); - } else { - child = const ListTile( - leading: CircularProgressIndicator(), - ); - child = const Text('something went wrong!'); +class _ListElementState extends State> + with SingleTickerProviderStateMixin { + _ListElementState(DataGetter loadedDataGetter, StreamGetter stream) { + loadedData = loadedDataGetter(); + if (stream != null) { + _streamSubscription = stream().listen((T data) { + if (widget != null) { + setState(() { + loadedData = data; + }); + } else { + loadedData = data; + } + }); } + } + T loadedData; + bool failed = false; + StreamSubscription _streamSubscription; + bool firstBuild = true; - return AnimatedContainer( - child: SizeTransition( - child: child, - sizeFactor: widget.sizeFactor, - ), - duration: const Duration(seconds: 1), - ); + @override + void dispose() { + _streamSubscription?.cancel(); + super.dispose(); } @override Widget build(BuildContext context) { - if (loadedData != null) { - return FutureBuilder( - key: ValueKey(loadedData), - initialData: loadedData, - builder: buildChild, - ); - } else { - return FutureBuilder( - key: ValueKey>(widget.future), - future: widget.future, - builder: buildChild, - ); - } + final Widget result = SizeTransition( + sizeFactor: widget.sizeFactor, + child: AnimatedSize( + duration: widget.duration, + vsync: this, + child: widget.childBuilder(context, failed, loadedData), + ), + ); + firstBuild = false; + return result; } } -//class SizeFadeTransition extends StatefulWidget { -// final Animation animation; -// final Curve curve; -// final double sizeFraction; -// final Axis axis; -// final double axisAlignment; -// final Widget child; -// const SizeFadeTransition({ -// Key key, -// @required this.animation, -// this.sizeFraction = 2 / 3, -// this.curve = Curves.linear, -// this.axis = Axis.vertical, -// this.axisAlignment = 0.0, -// this.child, -// }) : assert(animation != null), -// assert(axisAlignment != null), -// assert(axis != null), -// assert(curve != null), -// assert(sizeFraction != null), -// assert(sizeFraction >= 0.0 && sizeFraction <= 1.0), -// super(key: key); -// -// @override -// _SizeFadeTransitionState createState() => _SizeFadeTransitionState(); -//} -// -//class _SizeFadeTransitionState extends State { -// Animation size; -// Animation opacity; -// -// @override -// void initState() { -// super.initState(); -// didUpdateWidget(widget); -// } -// -// @override -// void didUpdateWidget(SizeFadeTransition oldWidget) { -// super.didUpdateWidget(oldWidget); -// -// final curve = -// CurvedAnimation(parent: widget.animation, curve: widget.curve); -// size = CurvedAnimation( -// curve: Interval(0.0, widget.sizeFraction), parent: curve); -// opacity = CurvedAnimation( -// curve: Interval(widget.sizeFraction, 1.0), parent: curve); -// } -// -// @override -// Widget build(BuildContext context) { -// return SizeTransition( -// sizeFactor: size, -// axis: widget.axis, -// axisAlignment: widget.axisAlignment, -// child: FadeTransition( -// opacity: opacity, -// child: widget.child, -// ), -// ); -// } -//} - -//abstract class LiveListEvent {} -// -//class LiveListSizeEvent extends LiveListEvent { -// LiveListSizeEvent(this._size); -// -// final int _size; -// -// int get size => _size; -//} - abstract class LiveListEvent { LiveListEvent(this._index, this._object); //, this._object); From 72891311ffd4fe8070aec129990fa76bb438d1fe Mon Sep 17 00:00:00 2001 From: maaeps Date: Mon, 9 Mar 2020 19:23:35 +0100 Subject: [PATCH 08/30] handle reconnect --- lib/src/utils/parse_live_list.dart | 93 +++++++++++++++++++++++------- 1 file changed, 71 insertions(+), 22 deletions(-) diff --git a/lib/src/utils/parse_live_list.dart b/lib/src/utils/parse_live_list.dart index 2fe2ca960..4adee7294 100644 --- a/lib/src/utils/parse_live_list.dart +++ b/lib/src/utils/parse_live_list.dart @@ -12,7 +12,6 @@ class ParseLiveList { final ParseLiveList parseLiveList = ParseLiveList._(_query); return parseLiveList._init().then((_) { - //TODO: Error-handling return parseLiveList; }); } @@ -68,9 +67,7 @@ class ParseLiveList { Stream> get stream => _eventStreamController.stream; Subscription _subscription; - Future _init() async { - _eventStreamController = StreamController>(); - + Future _runQuery() async { final QueryBuilder query = QueryBuilder.copy(_query); if (query.limiters.containsKey('order')) { query.keysToReturn( @@ -82,7 +79,13 @@ class ParseLiveList { query.keysToReturn(List()); } - final ParseResponse parseResponse = await query.query(); + return await query.query(); + } + + Future _init() async { + _eventStreamController = StreamController>(); + + final ParseResponse parseResponse = await _runQuery(); if (parseResponse.success) { _list = parseResponse.results .map>( @@ -101,28 +104,85 @@ class ParseLiveList { subscription.on(LiveQueryEvent.leave, _objectDeleted); subscription.on(LiveQueryEvent.delete, _objectDeleted); }); - return size; + + LiveQuery() + .client + .getClientEventStream + .listen((LiveQueryClientEvent event) async { + if (event == LiveQueryClientEvent.CONNECTED) { + ParseResponse parseResponse = await _runQuery(); + if (parseResponse.success) { + List newlist = parseResponse.results; + + //update List + for (int i = 0; i < _list.length; i++) { + final ParseObject currentObject = _list[i].object; + final String currentObjectId = + currentObject.get(keyVarObjectId); + + bool stillInList = false; + + for (int j = 0; j < newlist.length; j++) { + if (newlist[j].get(keyVarObjectId) == currentObjectId) { + stillInList = true; + if (newlist[j] + .get(keyVarUpdatedAt) + .isAfter(currentObject.get(keyVarUpdatedAt))) { + QueryBuilder queryBuilder = QueryBuilder.copy(_query) + ..whereEqualTo(keyVarObjectId, currentObjectId); + queryBuilder.query().then((ParseResponse result) { + if (result.success) { + _objectUpdated(result.results.first); + } + }); + } + newlist.removeAt(j); + j--; + break; + } + } + if (!stillInList) { + _objectDeleted(currentObject); + i--; + } + } + + for (int i = 0; i < newlist.length; i++) { + _objectAdded(newlist[i], loaded: false); + } + +// _eventStreamController.sink.add(LiveListUpdateEvent()); + } + } + }); } - void _objectAdded(T object) { + void _objectAdded(T object, {bool loaded = true}) { for (int i = 0; i < _list.length; i++) { if (after(object, _list[i].object) != true) { - _list.insert(i, ParseLiveListElement(object, loaded: true)); + _list.insert(i, ParseLiveListElement(object, loaded: loaded)); _eventStreamController.sink.add(LiveListAddEvent(i, object)); return; } } - _list.add(ParseLiveListElement(object, loaded: true)); + _list.add(ParseLiveListElement(object, loaded: loaded)); _eventStreamController.sink .add(LiveListAddEvent(_list.length - 1, object)); } + void _updateObject(T object) {} + void _objectUpdated(T object) { for (int i = 0; i < _list.length; i++) { if (_list[i].object.get(keyVarObjectId) == object.get(keyVarObjectId)) { - _list[i].object = object; - _eventStreamController.sink.add(LiveListUpdateEvent(i, object)); + if (after(_list[i].object, object) == null) { + _list[i].object = object; + } else { + _list.removeAt(i).dispose(); + _eventStreamController.sink.add(LiveListDeleteEvent(i, object)); + _objectAdded(object); + } break; } } @@ -281,13 +341,6 @@ class _ParseLiveListBuilderState duration: widget.duration, loadedData: () => event.object, )); -// SizeTransition( -// sizeFactor: animation, -// child: removedItemBuilder != null -// ? removedItemBuilder( -// context, event.index, event.object) -// : , -// )); } }); }); @@ -416,7 +469,3 @@ class LiveListAddEvent extends LiveListEvent { class LiveListDeleteEvent extends LiveListEvent { LiveListDeleteEvent(int index, T object) : super(index, object); } - -class LiveListUpdateEvent extends LiveListEvent { - LiveListUpdateEvent(int index, T object) : super(index, object); -} From 05bc1c0dc3a36f65ac9fbc4381de2b0c1319d63b Mon Sep 17 00:00:00 2001 From: maaeps Date: Mon, 9 Mar 2020 19:39:49 +0100 Subject: [PATCH 09/30] Added dispose methodes & renamed classes & cleanup --- lib/src/utils/parse_live_list.dart | 173 +++++++++++++++++------------ 1 file changed, 101 insertions(+), 72 deletions(-) diff --git a/lib/src/utils/parse_live_list.dart b/lib/src/utils/parse_live_list.dart index 4adee7294..fe5e886a8 100644 --- a/lib/src/utils/parse_live_list.dart +++ b/lib/src/utils/parse_live_list.dart @@ -17,7 +17,7 @@ class ParseLiveList { } List> _list = List>(); - StreamController> _eventStreamController; + StreamController> _eventStreamController; int _nextID = 0; /// is object1 listed after object2? @@ -64,8 +64,9 @@ class ParseLiveList { return _list.length; } - Stream> get stream => _eventStreamController.stream; - Subscription _subscription; + Stream> get stream => _eventStreamController.stream; + Subscription _liveQuerySubscription; + StreamSubscription _liveQueryClientEventSubscription; Future _runQuery() async { final QueryBuilder query = QueryBuilder.copy(_query); @@ -83,7 +84,7 @@ class ParseLiveList { } Future _init() async { - _eventStreamController = StreamController>(); + _eventStreamController = StreamController>(); final ParseResponse parseResponse = await _runQuery(); if (parseResponse.success) { @@ -97,7 +98,7 @@ class ParseLiveList { .client .subscribe(QueryBuilder.copy(_query)) .then((Subscription subscription) { - _subscription = subscription; + _liveQuerySubscription = subscription; subscription.on(LiveQueryEvent.create, _objectAdded); subscription.on(LiveQueryEvent.update, _objectUpdated); subscription.on(LiveQueryEvent.enter, _objectAdded); @@ -105,7 +106,7 @@ class ParseLiveList { subscription.on(LiveQueryEvent.delete, _objectDeleted); }); - LiveQuery() + _liveQueryClientEventSubscription = LiveQuery() .client .getClientEventStream .listen((LiveQueryClientEvent event) async { @@ -150,8 +151,6 @@ class ParseLiveList { for (int i = 0; i < newlist.length; i++) { _objectAdded(newlist[i], loaded: false); } - -// _eventStreamController.sink.add(LiveListUpdateEvent()); } } }); @@ -161,17 +160,15 @@ class ParseLiveList { for (int i = 0; i < _list.length; i++) { if (after(object, _list[i].object) != true) { _list.insert(i, ParseLiveListElement(object, loaded: loaded)); - _eventStreamController.sink.add(LiveListAddEvent(i, object)); + _eventStreamController.sink.add(ParseLiveListAddEvent(i, object)); return; } } _list.add(ParseLiveListElement(object, loaded: loaded)); _eventStreamController.sink - .add(LiveListAddEvent(_list.length - 1, object)); + .add(ParseLiveListAddEvent(_list.length - 1, object)); } - void _updateObject(T object) {} - void _objectUpdated(T object) { for (int i = 0; i < _list.length; i++) { if (_list[i].object.get(keyVarObjectId) == @@ -180,7 +177,8 @@ class ParseLiveList { _list[i].object = object; } else { _list.removeAt(i).dispose(); - _eventStreamController.sink.add(LiveListDeleteEvent(i, object)); + _eventStreamController.sink + .add(ParseLiveListDeleteEvent(i, object)); _objectAdded(object); } break; @@ -193,39 +191,58 @@ class ParseLiveList { if (_list[i].object.get(keyVarObjectId) == object.get(keyVarObjectId)) { _list.removeAt(i).dispose(); - _eventStreamController.sink.add(LiveListDeleteEvent(i, object)); + _eventStreamController.sink.add(ParseLiveListDeleteEvent(i, object)); break; } } } - Stream getAt(final int i) async* { - if (!_list[i].loaded) { - final QueryBuilder queryBuilder = QueryBuilder.copy(_query) - ..whereEqualTo( - keyVarObjectId, _list[i].object.get(keyVarObjectId)) - ..setLimit(1); - final ParseResponse response = await queryBuilder.query(); - if (response.success) { - _list[i].object = response.results.first; - } else { - throw response.error; + Stream getAt(final int index) async* { + if (index < _list.length) { + if (!_list[index].loaded) { + final QueryBuilder queryBuilder = QueryBuilder.copy(_query) + ..whereEqualTo( + keyVarObjectId, _list[index].object.get(keyVarObjectId)) + ..setLimit(1); + final ParseResponse response = await queryBuilder.query(); + if (response.success) { + _list[index].object = response.results.first; + } else { + throw response.error; + } } - } // just for testing // await Future.delayed(const Duration(seconds: 2)); - yield _list[i].object; - yield* _list[i].stream; + yield _list[index].object; + yield* _list[index].stream; + } } String idOf(int index) { - return _list[index].object.get(keyVarObjectId); + if (index < _list.length) { + return _list[index].object.get(keyVarObjectId); + } + return 'NotFound'; } T getLoadedAt(int index) { - if (_list[index].loaded) return _list[index].object; + if (index < _list.length && _list[index].loaded) return _list[index].object; return null; } + + void dispose() { + if (_liveQuerySubscription != null) { + LiveQuery().client.unSubscribe(_liveQuerySubscription); + _liveQuerySubscription = null; + } + if (_liveQueryClientEventSubscription != null) { + _liveQueryClientEventSubscription.cancel(); + _liveQueryClientEventSubscription = null; + } + while (_list.isNotEmpty) { + _list.removeLast().dispose(); + } + } } class ParseLiveListElement { @@ -254,6 +271,26 @@ class ParseLiveListElement { } } +abstract class ParseLiveListEvent { + ParseLiveListEvent(this._index, this._object); //, this._object); + + final int _index; + final T _object; + + int get index => _index; + T get object => _object; +} + +class ParseLiveListAddEvent + extends ParseLiveListEvent { + ParseLiveListAddEvent(int index, T object) : super(index, object); +} + +class ParseLiveListDeleteEvent + extends ParseLiveListEvent { + ParseLiveListDeleteEvent(int index, T object) : super(index, object); +} + typedef Stream StreamGetter(); typedef T DataGetter(); typedef Widget ChildBuilder( @@ -261,8 +298,8 @@ typedef Widget ChildBuilder( typedef Widget RemovedItemBuilder( BuildContext context, int index, T oldObject); -class ParseLiveListBuilder extends StatefulWidget { - const ParseLiveListBuilder( +class ParseLiveListWidget extends StatefulWidget { + const ParseLiveListWidget( {Key key, @required this.query, this.listLoadingElement, @@ -294,8 +331,8 @@ class ParseLiveListBuilder extends StatefulWidget { final RemovedItemBuilder removedItemBuilder; @override - _ParseLiveListBuilderState createState() => - _ParseLiveListBuilderState(query, removedItemBuilder); + _ParseLiveListWidgetState createState() => + _ParseLiveListWidgetState(query, removedItemBuilder); static Widget defaultChildBuilder( BuildContext context, bool failed, T loadedData) { @@ -317,26 +354,26 @@ class ParseLiveListBuilder extends StatefulWidget { } } -class _ParseLiveListBuilderState - extends State> { - _ParseLiveListBuilderState(this._query, this.removedItemBuilder) { +class _ParseLiveListWidgetState + extends State> { + _ParseLiveListWidgetState(this._query, this.removedItemBuilder) { ParseLiveList.create(_query).then((ParseLiveList value) { setState(() { _liveList = value; - _liveList.stream.listen((LiveListEvent event) { - if (event is LiveListAddEvent) { + _liveList.stream.listen((ParseLiveListEvent event) { + if (event is ParseLiveListAddEvent) { if (_animatedListKey.currentState != null) _animatedListKey.currentState.insertItem(event.index); - } else if (event is LiveListDeleteEvent) { + } else if (event is ParseLiveListDeleteEvent) { _animatedListKey.currentState.removeItem( event.index, (BuildContext context, Animation animation) => - ListElement( + ParseLiveListElementWidget( key: ValueKey(event.object?.get( keyVarObjectId, defaultValue: 'removingItem')), childBuilder: widget.childBuilder ?? - ParseLiveListBuilder.defaultChildBuilder, + ParseLiveListWidget.defaultChildBuilder, sizeFactor: animation, duration: widget.duration, loadedData: () => event.object, @@ -372,24 +409,31 @@ class _ParseLiveListBuilderState primary: widget.primary, reverse: widget.reverse, shrinkWrap: widget.shrinkWrap, - initialItemCount: _liveList.size, + initialItemCount: _liveList?.size, itemBuilder: (BuildContext context, int index, Animation animation) { - return ListElement( - key: ValueKey(_liveList.idOf(index)), - stream: () => _liveList.getAt(index), - loadedData: () => _liveList.getLoadedAt(index), + return ParseLiveListElementWidget( + key: ValueKey(_liveList?.idOf(index) ?? '_NotFound'), + stream: () => _liveList?.getAt(index), + loadedData: () => _liveList?.getLoadedAt(index), sizeFactor: animation, duration: widget.duration, childBuilder: - widget.childBuilder ?? ParseLiveListBuilder.defaultChildBuilder, + widget.childBuilder ?? ParseLiveListWidget.defaultChildBuilder, ); }); } + + @override + void dispose() { + _liveList.dispose(); + _liveList = null; + super.dispose(); + } } -class ListElement extends StatefulWidget { - const ListElement( +class ParseLiveListElementWidget extends StatefulWidget { + const ParseLiveListElementWidget( {Key key, this.stream, this.loadedData, @@ -405,14 +449,16 @@ class ListElement extends StatefulWidget { final ChildBuilder childBuilder; @override - _ListElementState createState() { - return _ListElementState(loadedData, stream); + _ParseLiveListElementWidgetState createState() { + return _ParseLiveListElementWidgetState(loadedData, stream); } } -class _ListElementState extends State> +class _ParseLiveListElementWidgetState + extends State> with SingleTickerProviderStateMixin { - _ListElementState(DataGetter loadedDataGetter, StreamGetter stream) { + _ParseLiveListElementWidgetState( + DataGetter loadedDataGetter, StreamGetter stream) { loadedData = loadedDataGetter(); if (stream != null) { _streamSubscription = stream().listen((T data) { @@ -434,6 +480,7 @@ class _ListElementState extends State> @override void dispose() { _streamSubscription?.cancel(); + _streamSubscription = null; super.dispose(); } @@ -451,21 +498,3 @@ class _ListElementState extends State> return result; } } - -abstract class LiveListEvent { - LiveListEvent(this._index, this._object); //, this._object); - - final int _index; - final T _object; - - int get index => _index; - T get object => _object; -} - -class LiveListAddEvent extends LiveListEvent { - LiveListAddEvent(int index, T object) : super(index, object); -} - -class LiveListDeleteEvent extends LiveListEvent { - LiveListDeleteEvent(int index, T object) : super(index, object); -} From ddd1bc0b968cd285957a9e6ff39911fbb6f5525a Mon Sep 17 00:00:00 2001 From: maaeps Date: Mon, 9 Mar 2020 19:57:54 +0100 Subject: [PATCH 10/30] cleanup --- lib/src/utils/parse_live_list.dart | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/src/utils/parse_live_list.dart b/lib/src/utils/parse_live_list.dart index fe5e886a8..d560dffb2 100644 --- a/lib/src/utils/parse_live_list.dart +++ b/lib/src/utils/parse_live_list.dart @@ -393,9 +393,7 @@ class _ParseLiveListWidgetState @override Widget build(BuildContext context) { return _liveList == null - ? widget.listLoadingElement == null - ? Container() - : widget.listLoadingElement + ? widget.listLoadingElement ?? Container() : buildAnimatedList(); } From 846775c455e44e78593834fffbc8a5c0ad2cd648 Mon Sep 17 00:00:00 2001 From: maaeps Date: Mon, 9 Mar 2020 20:10:29 +0100 Subject: [PATCH 11/30] Fix animation duration --- lib/src/utils/parse_live_list.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/src/utils/parse_live_list.dart b/lib/src/utils/parse_live_list.dart index d560dffb2..d7b2a9054 100644 --- a/lib/src/utils/parse_live_list.dart +++ b/lib/src/utils/parse_live_list.dart @@ -363,7 +363,8 @@ class _ParseLiveListWidgetState _liveList.stream.listen((ParseLiveListEvent event) { if (event is ParseLiveListAddEvent) { if (_animatedListKey.currentState != null) - _animatedListKey.currentState.insertItem(event.index); + _animatedListKey.currentState + .insertItem(event.index, duration: widget.duration); } else if (event is ParseLiveListDeleteEvent) { _animatedListKey.currentState.removeItem( event.index, @@ -377,7 +378,8 @@ class _ParseLiveListWidgetState sizeFactor: animation, duration: widget.duration, loadedData: () => event.object, - )); + ), + duration: widget.duration); } }); }); From 78883ab7ced28a1e7e49b9623661123ab51b5d06 Mon Sep 17 00:00:00 2001 From: maaeps Date: Mon, 9 Mar 2020 20:11:25 +0100 Subject: [PATCH 12/30] added README ParseLiveList section --- README.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/README.md b/README.md index 9a6559a0a..9ed4ae52c 100644 --- a/README.md +++ b/README.md @@ -430,6 +430,66 @@ LiveQuery server. liveQuery.client.unSubscribe(subscription); ``` +## ParseLiveList +ParseLiveList makes implementing a dynamic List as simple as possible. + + +It ships with the ParseLiveList class itself, this class manages all elements of the list, sorts them, +keeps itself up to date and Notifies you on changes. + +ParseLiveListWidget is a widget that handles all the communication with the ParseLiveList for you. +Using ParseLiveListWidget you can create a dynamic List by just providing a QueryBuilder. + +```dart +ParseLiveListWidget( + query: query, + ); +``` +To customize the List Elements, you can provide a childBuilder. +```dart +ParseLiveListWidget( + query: query, + reverse: false, + childBuilder: + (BuildContext context, bool failed, ParseObject loadedData) { + if (failed) { + return const Text('something went wrong!'); + } else if (loadedData != null) { + return ListTile( + title: Text( + loadedData.get("text"), + ), + ); + } else { + return const ListTile( + leading: CircularProgressIndicator(), + ); + } + }, +); +``` +Similar to the standard ListView, you can provide arguments like reverse or shrinkWrap. +By providing the listLoadingElement, you can show the user something while the list is loading. +```dart +ParseLiveListWidget( + query: query, + childBuilder: childBuilder, + listLoadingElement: Center( + child: CircularProgressIndicator(), + ), +); +``` +By providing the duration argument, you can change the animation speed. +```dart +ParseLiveListWidget( + query: query, + childBuilder: childBuilder, + duration: Duration(seconds: 1), +); +``` + +Note: To use this features you have to enable [Live Queries](#live-queries) first. + ## Users You can create and control users just as normal using this SDK. From c427b4679cc816dec8abff3bd093156f0ff26c6e Mon Sep 17 00:00:00 2001 From: maaeps Date: Mon, 9 Mar 2020 22:10:51 +0100 Subject: [PATCH 13/30] Initialized example_livelist --- example_livelist/.gitignore | 37 ++ example_livelist/.metadata | 10 + example_livelist/README.md | 1 + example_livelist/android/.gitignore | 7 + example_livelist/android/app/build.gradle | 67 +++ .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 30 + .../MainActivity.kt | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values/styles.xml | 8 + .../app/src/profile/AndroidManifest.xml | 7 + example_livelist/android/build.gradle | 31 ++ example_livelist/android/gradle.properties | 4 + .../gradle/wrapper/gradle-wrapper.properties | 6 + example_livelist/android/settings.gradle | 15 + example_livelist/assets/parse.png | Bin 0 -> 125704 bytes example_livelist/fonts/Roboto/LICENSE.txt | 202 +++++++ .../fonts/Roboto/Roboto-Black.ttf | Bin 0 -> 171480 bytes example_livelist/fonts/Roboto/Roboto-Bold.ttf | Bin 0 -> 170760 bytes .../fonts/Roboto/Roboto-Light.ttf | Bin 0 -> 170420 bytes .../fonts/Roboto/Roboto-Medium.ttf | Bin 0 -> 172064 bytes .../fonts/Roboto/Roboto-Regular.ttf | Bin 0 -> 171676 bytes example_livelist/fonts/Roboto/Roboto-Thin.ttf | Bin 0 -> 171904 bytes example_livelist/ios/.gitignore | 32 ++ .../ios/Flutter/AppFrameworkInfo.plist | 26 + example_livelist/ios/Flutter/Debug.xcconfig | 1 + example_livelist/ios/Flutter/Release.xcconfig | 1 + .../ios/Runner.xcodeproj/project.pbxproj | 518 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/xcschemes/Runner.xcscheme | 91 +++ .../contents.xcworkspacedata | 7 + example_livelist/ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 +++++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 564 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 1588 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 1025 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 1716 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 1920 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 1895 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 3831 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 1888 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 3294 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 3612 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 ++ .../ios/Runner/Base.lproj/Main.storyboard | 26 + example_livelist/ios/Runner/Info.plist | 45 ++ .../ios/Runner/Runner-Bridging-Header.h | 1 + .../lib/application_constants.dart | 5 + example_livelist/lib/main.dart | 66 +++ example_livelist/pubspec.yaml | 56 ++ example_livelist/test/widget_test.dart | 30 + 66 files changed, 1568 insertions(+) create mode 100644 example_livelist/.gitignore create mode 100644 example_livelist/.metadata create mode 100644 example_livelist/README.md create mode 100644 example_livelist/android/.gitignore create mode 100644 example_livelist/android/app/build.gradle create mode 100644 example_livelist/android/app/src/debug/AndroidManifest.xml create mode 100644 example_livelist/android/app/src/main/AndroidManifest.xml create mode 100644 example_livelist/android/app/src/main/kotlin/com/example/flutterpluginexample_livelist/MainActivity.kt create mode 100644 example_livelist/android/app/src/main/res/drawable/launch_background.xml create mode 100644 example_livelist/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 example_livelist/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 example_livelist/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 example_livelist/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 example_livelist/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 example_livelist/android/app/src/main/res/values/styles.xml create mode 100644 example_livelist/android/app/src/profile/AndroidManifest.xml create mode 100644 example_livelist/android/build.gradle create mode 100644 example_livelist/android/gradle.properties create mode 100644 example_livelist/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 example_livelist/android/settings.gradle create mode 100644 example_livelist/assets/parse.png create mode 100644 example_livelist/fonts/Roboto/LICENSE.txt create mode 100644 example_livelist/fonts/Roboto/Roboto-Black.ttf create mode 100644 example_livelist/fonts/Roboto/Roboto-Bold.ttf create mode 100644 example_livelist/fonts/Roboto/Roboto-Light.ttf create mode 100644 example_livelist/fonts/Roboto/Roboto-Medium.ttf create mode 100644 example_livelist/fonts/Roboto/Roboto-Regular.ttf create mode 100644 example_livelist/fonts/Roboto/Roboto-Thin.ttf create mode 100644 example_livelist/ios/.gitignore create mode 100644 example_livelist/ios/Flutter/AppFrameworkInfo.plist create mode 100644 example_livelist/ios/Flutter/Debug.xcconfig create mode 100644 example_livelist/ios/Flutter/Release.xcconfig create mode 100644 example_livelist/ios/Runner.xcodeproj/project.pbxproj create mode 100644 example_livelist/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 example_livelist/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 example_livelist/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 example_livelist/ios/Runner/AppDelegate.swift create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 example_livelist/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 example_livelist/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 example_livelist/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 example_livelist/ios/Runner/Base.lproj/Main.storyboard create mode 100644 example_livelist/ios/Runner/Info.plist create mode 100644 example_livelist/ios/Runner/Runner-Bridging-Header.h create mode 100644 example_livelist/lib/application_constants.dart create mode 100644 example_livelist/lib/main.dart create mode 100644 example_livelist/pubspec.yaml create mode 100644 example_livelist/test/widget_test.dart diff --git a/example_livelist/.gitignore b/example_livelist/.gitignore new file mode 100644 index 000000000..ae1f1838e --- /dev/null +++ b/example_livelist/.gitignore @@ -0,0 +1,37 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Web related +lib/generated_plugin_registrant.dart + +# Exceptions to above rules. +!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages diff --git a/example_livelist/.metadata b/example_livelist/.metadata new file mode 100644 index 000000000..01d2dcb9a --- /dev/null +++ b/example_livelist/.metadata @@ -0,0 +1,10 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: 0b8abb4724aa590dd0f429683339b1e045a1594d + channel: stable + +project_type: app diff --git a/example_livelist/README.md b/example_livelist/README.md new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/example_livelist/README.md @@ -0,0 +1 @@ + diff --git a/example_livelist/android/.gitignore b/example_livelist/android/.gitignore new file mode 100644 index 000000000..bc2100d8f --- /dev/null +++ b/example_livelist/android/.gitignore @@ -0,0 +1,7 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java diff --git a/example_livelist/android/app/build.gradle b/example_livelist/android/app/build.gradle new file mode 100644 index 000000000..0d54735d6 --- /dev/null +++ b/example_livelist/android/app/build.gradle @@ -0,0 +1,67 @@ +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +android { + compileSdkVersion 28 + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + lintOptions { + disable 'InvalidPackage' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.example.flutterpluginexample_livelist" + minSdkVersion 16 + targetSdkVersion 28 + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + testImplementation 'junit:junit:4.12' + androidTestImplementation 'androidx.test:runner:1.1.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' +} diff --git a/example_livelist/android/app/src/debug/AndroidManifest.xml b/example_livelist/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 000000000..ecdeb9a6f --- /dev/null +++ b/example_livelist/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/example_livelist/android/app/src/main/AndroidManifest.xml b/example_livelist/android/app/src/main/AndroidManifest.xml new file mode 100644 index 000000000..dff7e72d9 --- /dev/null +++ b/example_livelist/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + diff --git a/example_livelist/android/app/src/main/kotlin/com/example/flutterpluginexample_livelist/MainActivity.kt b/example_livelist/android/app/src/main/kotlin/com/example/flutterpluginexample_livelist/MainActivity.kt new file mode 100644 index 000000000..624c7b88d --- /dev/null +++ b/example_livelist/android/app/src/main/kotlin/com/example/flutterpluginexample_livelist/MainActivity.kt @@ -0,0 +1,12 @@ +package com.example.flutterpluginexample_livelist + +import androidx.annotation.NonNull; +import io.flutter.embedding.android.FlutterActivity +import io.flutter.embedding.engine.FlutterEngine +import io.flutter.plugins.GeneratedPluginRegistrant + +class MainActivity: FlutterActivity() { + override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) { + GeneratedPluginRegistrant.registerWith(flutterEngine); + } +} diff --git a/example_livelist/android/app/src/main/res/drawable/launch_background.xml b/example_livelist/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 000000000..304732f88 --- /dev/null +++ b/example_livelist/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/example_livelist/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/example_livelist/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/example_livelist/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/example_livelist/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/example_livelist/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/example_livelist/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/example_livelist/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/example_livelist/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/example_livelist/android/app/src/main/res/values/styles.xml b/example_livelist/android/app/src/main/res/values/styles.xml new file mode 100644 index 000000000..00fa4417c --- /dev/null +++ b/example_livelist/android/app/src/main/res/values/styles.xml @@ -0,0 +1,8 @@ + + + + diff --git a/example_livelist/android/app/src/profile/AndroidManifest.xml b/example_livelist/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 000000000..ecdeb9a6f --- /dev/null +++ b/example_livelist/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/example_livelist/android/build.gradle b/example_livelist/android/build.gradle new file mode 100644 index 000000000..3100ad2d5 --- /dev/null +++ b/example_livelist/android/build.gradle @@ -0,0 +1,31 @@ +buildscript { + ext.kotlin_version = '1.3.50' + repositories { + google() + jcenter() + } + + dependencies { + classpath 'com.android.tools.build:gradle:3.5.0' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +allprojects { + repositories { + google() + jcenter() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/example_livelist/android/gradle.properties b/example_livelist/android/gradle.properties new file mode 100644 index 000000000..38c8d4544 --- /dev/null +++ b/example_livelist/android/gradle.properties @@ -0,0 +1,4 @@ +org.gradle.jvmargs=-Xmx1536M +android.enableR8=true +android.useAndroidX=true +android.enableJetifier=true diff --git a/example_livelist/android/gradle/wrapper/gradle-wrapper.properties b/example_livelist/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 000000000..296b146b7 --- /dev/null +++ b/example_livelist/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri Jun 23 08:50:38 CEST 2017 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip diff --git a/example_livelist/android/settings.gradle b/example_livelist/android/settings.gradle new file mode 100644 index 000000000..5a2f14fb1 --- /dev/null +++ b/example_livelist/android/settings.gradle @@ -0,0 +1,15 @@ +include ':app' + +def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() + +def plugins = new Properties() +def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') +if (pluginsFile.exists()) { + pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } +} + +plugins.each { name, path -> + def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() + include ":$name" + project(":$name").projectDir = pluginDirectory +} diff --git a/example_livelist/assets/parse.png b/example_livelist/assets/parse.png new file mode 100644 index 0000000000000000000000000000000000000000..fc7e48dd684b41ac0f292b678ec94f5c4eabd2d2 GIT binary patch literal 125704 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%0Aj4frbvsED*) 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 S$}~f}Qo5ujpYx~b-~R_V3>*Le literal 0 HcmV?d00001 diff --git a/example_livelist/fonts/Roboto/LICENSE.txt b/example_livelist/fonts/Roboto/LICENSE.txt new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/example_livelist/fonts/Roboto/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/example_livelist/fonts/Roboto/Roboto-Black.ttf b/example_livelist/fonts/Roboto/Roboto-Black.ttf new file mode 100644 index 0000000000000000000000000000000000000000..689fe5cb3c715f2944fec30e43ccb8a2b10625d3 GIT binary patch literal 171480 zcmbUK2V4|M^FNMv_sr~)S+a=YF42I3lFVYx0WqNnn6qLI=b6(P&YW{NJ@c|=&z!TE zv!Y@K#XGYw`+xTg3(ND|^Zoo@|Hayx>6z)SuBxu8uI^b0C4{)*OCqSm*jJn#Xss$7WW*CTtpOn(bDGD6R#-YL^)4awPt=m! zrC+BMI=r1PAwKO;X}vDPhUhhp<*E@9wgA`LcTefjZ{kn?t%Q_agJ%x)=rlNm*bq0g z$DeoT(RXC`Hd7rXLaOKpeOjbv*M1{@U%SRch-VBTQjwnBI(5x;yxtPehT#6Fo+z;I zX!il8O6Yxw$!gkZG)I_7G&mQ;y}~41A<{A_995Q3v2cxa=gnA}A|#zKa|@#HfI>a5 zyngfM^+^mN=3EVt3F)p~#&ChI=GVl^k`X6*A_z0l@4OGiZ5&u6>A`*@-r`2$E3PAP zQZ{KXbtM&PRZ@oCAS2i{Qc~DYii-6}Syqyi5tfoAtPdH=u9~0Y{?>qvfGU8{Jlp~} z4iEuo1!&HCkYTJDsUy0Ra^g-hPAp0Wh;F2Wwlt|C4L0XWrAU7%hSZfpNPlq@AQ|UF zNK0uo>CbwTDdJcXAo-%a4e75HaBUS}3hs|oa096#Fe5RNJ?@Joy`+ZV!zbb)`4Cak zm~+Laq&llf`U<_wnZQoM0umrV`fMMG5^IpM;&{?YED3tY0XmRs>?Ls!myu|35^2lA zNdhZno(Y;d;W$N;fqN&CcH$V^%by!dA_N;?Z{p96;<pWk|GQSZ&r|Hgyak&B)1uGb3hIuKQXRzvITqc zL7YLlv3X>=IE?g_J`tTXjWm?}2^A-hSZOWk3*1oCnKY2T5`U>1_&SbM6(2x%iem(f zC6VG((h)q0;^Sf zWN?!V5r3L9HJ8kv(S{esXI-1FB)}#a^!x-pGe{fJ3_Z*yPB!g`y<|(OqpZEO0XpeS zM9nTzTN6UsNQ=p2?O&vaO%my$sX}}--$_3)hYXNBiL>@Bc)b8TTTPlmzlI9&q@5H< zifW@tpy&@8M?>!xL9SznohAU7pK~Y=xjaT6vv53&w9xD%?X+Xib}!Hl1|S+{F20^E+(`(n;e&x=6o)$McD(-A_hn z=8{CML^?>fNPF9!WQvU*^?8{yL_LupkJjK}1u2whIM4IWBec&@=T_1+zwVo)u~>(+ z5WkRKknMQD7|1*ou$hn_RRIg2>+Pl1Dji}j#{I7tUn59=;W)}A$hr;MXT)B6kOXRc z!2kYasMH5G;0S%w`D#nZ3@Ii#j`AsMf^NZO!(^`#P!!%I?G+zV^H zi&WSAO{!_%kpY^8q!zA)icLsG*uUbEJM3BziPaoL+xv)};6j>1cEqL>^g0i-1F&Uw zu;=h#kO5&~I9>-J_*~;(gmAmf0b_o?MuLr)jO%97mwtq83L$YcmDCmbkio)0(n9D9 z`yE3nh@0UXK4T0ek#U-EGLFTQf!f^|htn~B`jRHX6ygk96D7o<-p&*h zTmU~#<2V6wgO5OarNn9^SbPlIHw*o`LTX44AYX~t*f>D2+wk6>Iv@%V4e$k& z1uOv66)TbuG0FT@>}CF2`WtqBk@*w+MV#1^6cZEi%v{*kW55#?94cOc{A@|A@E6Ye z0zW6km>=m0I}{6DsSdr4Rh~OW8VFm72!9_dE<~Njpa;OhQPNU;jk12EiN=+LN#{tI zcoa7L4BDGYLbbz*r?wk-br0wKzGXN*N{VX!B(7p}=vW%ch65ge)+NyQQ#d|{y6%%$ z?Oxn_2X>$>%H{y3VodD^9s?dUBX-*AsN*^AaRode#Wb;?sXqGtkNI!SKWGp20Ae-W zi9x)9Yq4mL(~Z7}I?})<2G6CyzMJ8z%p?j>1yBPJ3aAaJDP+QLts^spTWGh6`JK3m zRF%qMT$jaIPa?@uFmNl_=K%_Rp@4Q4W3{^)W)) zX(pn7%i#Nh%(KMx@R#dh``5#Vu7?j@54o?04_Qx|0a^fB0WPzS<_!wKpRxw#T*a^Q ze(Z_t!M#@R; z;J2Y;Jf7oYTxw)~#z92XKONqO9?3D+sw|NVXy@2NdmgdJ? zJnpgv9&cF#kGFVC^}m3}S-d}10Ddgz`~aQ^n4TYB@fgb*cx+`2JhlSxKJoVc3-f-V zJsw;BD-OXko@j&jnbY%sU>=h~4$=P;BVJWv#@=QV`mr8-yAOO3_!RIS@Y5Tyj}7Om z<_&Z#fh53Q2Ov%wsKmF3F?o#3xb7+^kZ-Hzp$+w?*JJCAnf0QLjcftDyv5BCF#KY(8ltU#fU)A*lsa=)TNEyZ7O zUt|P2Xa8$H#^+#=E1!EQc7w~9$Kr^;q3i9L5_gj>%AA7hD&{VHz69CZqpj&Y z?pDS;kH2}`&Br8<`Jt|Gu$`u_IYfbPap2%_w%@0p$p?tu~nEKD04;F0cDN| z+7$c5$2^apxs9>R0oD1MJ+}uu{#NF7d=3b^q|5_({Ed4oy8NHmqT9;+na`_xBZf*a zC-FFo)5PbG7CU93Rk1ywgU?;~d_#?)&ChM%TWq(2X3Qmc{GV^fI8PB{bAIr-2A?1B zV@tgjY#Boe578ebKIQW=3mPH-JbssJ8$XV|HkH%Vh3~U|8-r_EAD@K10d`FvY!@S zOhJ4-#yswSUboDD|1bQXb~A6jEd5`Y%iUr(tuW%H2(H)4JTQ;{e9S2G$GkZV_e)}q z`Jn>C%nyWk^A@S5d9OIwyk5~+K4;_Og6AywSWPx(@Oc8__rkfIy`+bD0kP{|%tJ1~ z_gj3T#V;u`GM@miL&5XouqWxPfqYHnnK@IcXwDIA%njf(n!#sfN=b48at;0Y_*3#f zTwiz|h~qqeYVnO0oaY;p^2d{elB5Wg$+^7#VyS3Jh&b#q_D>&HAqiSzk& zUWPW5c$~-msE^MXAj_Ug%!qiAx66Hj1^E4zF_=F_;P-gjh|7{NUBXmS(%IUJFglD0 zlBCs8K@cS-3OKQR)MFbBK9Z!-2$DupPI!R^N0J~4qNqNAZ^k5M!=DxKCu#Ws6Yvxs zV;WH_@-k5p1VMvV(3nQ6m26P2MtMl1#hrpivbA9vAXF~lZjs?m6Bzl%LoD+uBHYQnJNt7?f#M#Y91eYymm3p3c zLjkhLKw$;C56T2SviOHn&9xiEDu^=DcqA+>|@ZJVG%;ihbTc!|=Tljdf zvsZg5*xD#;;ChcsTv`9^k1O2&_$#1aJ>q=+U-$l7xl%13A6%)Rl>E=4bV`5K0_X#0 zhpKtJi2uRFaDwqqy~@jMP?N$Pg&eS&S;hbZ?;!<+`#9n^sU#~8aEqau4PK~N8E$Df z6vH=9w{eV2oMt*QzWs6jiHyU_&JY|i;z-7jHDnvvPL7f@`*>oOVON}&}nwbxaX7TJ0JIl_qN9-Q~b{C`GS@0L83p0gz!dk&791zY6 zSA^@rZ81;`73+%4#m?dYailm!TrF-EQ^kYg74eSvRQxPaNhi7aQr{ZBlYKw>{^R?- zL{q)3-d^vb_t5+5{q({5Fnzebvc9Umj(&)KtbT)ji+-CvRew-_*dQ6)44wu*Ly)1I zA<>WdY5bi1T>Xmr`TCXdYv7mc*DdhEd-mnzPf<3TbIoS-S?#qRyS&~Lx zk!)h7I_gS;Xh~Y0wxY?jXI`(@(4FY@4^||v*Jse{yXZ9*ukw053BCSZm@ljsQiX%U z1>qWcO~fEEOspri5W9#e;wW*NxJKL}n#8}vtKwbpnfL_~cJU>?)qThLuJQfb_Y-k9fx`MqAR->Bb;ULVjOD%9%^dA)YA>UCH2nxfYfz0N_ep#|nI z<_vn*e1cvwABXEa3OESZ3)l_7S|{BC*k<-LYt54UO@2q;b7sliW$tv;D4TQn9l6jg^Wz*j=O=Prs51w3C)r-+DetkOV>ENdW2zlD~X`iRPo_2b^`Dy&~wNG0-H9YkqB>itdR{G2I z7wN0g=cdn2pY&uw`pERAPqsYX_GHzQl}{Eung3+!lRi&cJ&Apg<+ji6tL86ulAcxc zo)cH_$-p6cM2i3_SOFggRv$WqBKQCAAKI6fjb{_sL^g?xXTPx7Yz~{t=CS!~0hvH1 zvW09BTg;YVy>Akk%$Bj`Yz14%R(uuVgNn z$G)-e><9bFa#${zPZkIcf}@}lTm)Cajs42Tu*qzVP(}z5$_nKKJHcLXLRM)9*@;}f zQJ5-B6MiG9#3alS<_h!3E{wAUWVf(TScH|k#bhrsp!XkkVd4aF zBCJ*g8crjG_reDnNuy{qttd_sCkxraM{&3~Lik(w2iAA0IF>e{O~qfuF~TR|v+#vB zqs?gx8cSQk+P9*uVWUUUHnc5mCsJ53gwx#hiy9hF+l#-5qeUOF80|n4Xh)g|tM(gB z5{rw|=>VES$I}VoOmPNXEDob93HBWjVt*)4lfPSOH1|r(3LJ6FfqN}IfR8|g^{~+j zuo1wpCh${)bOCHvfsF*-0f03lupzMJgq%jzV}Z})!Fb@afU78<0-UA-`vsVpWuK*uV&S}ifgQ>tD0bfuK%Syfi zz5%etPdG1NJDCw!&I4FfVuoFDM)@9KoeCIvgu1AJF-WK@0G5=Ye>6x1G7~sh1&mQb zVQpy`?zsnA^Q*ls^Zqr~-klqLlzKD1QT76Hp7ZfG4yzpdrf9584RO80B+; zn*d@_j{Z>CJQ|1c`M|9JNhn93XfmJ^L<%jSodMl&%=^?G&;$4U3fvO_SqtvKkQoO8 zo>Sg7fGh%@rvh0FyavE|yaaeBfb$QspxG)2kQM!*0-FpBkHmrT=W+nxuTTc(MF8G7 zhUa2M0X{f(0_MB{kQKo3Dv*`H&|wb36JYS2oy9$?fX}NyP(Qm1fX;9|W&fx^HsKi* z2^3#{0^@`Ofj$VfDv+(f&MI*I7W`G4gh@QKz0Ey1%Q{zy~}|CWH&H)A%F+UbLg`G zAka@?bsq4#)~G-bO$g|}0=(|^Dv*7^8vuU*csm&-{IRIn{e?Wu_ zfGYq_%Qe7tlwSpgo#4Q2h6uz#$N+|HIlzm+R;obo43ES)z_VbAtOB_KECFm#4*kU* z6e8NAqMN`NCmaOuTy#`HcmeFB0(=n>p(h-;t-?B{0`N~nbWwrZFVPj?hI+trz824c z+cVKa1>I}Z~{08 z5Q_42;4l^74~bYF5P|Zyz>zAzI}$MpP!Z+tfh(y1Z;72@fNCiJ2wYtSE;HoD6(FC1 zV*oWl4`e9TQi0o9v9=0amSPVFM92rv}oUckcu!%@!pIYI>?3wWdoLMHGiz!coiWjGB08^C>nI5Q8% z0nY-=MR^GDJivUw1i%8oVw9H$UIJK(wz!Oz0al`%%WxF{<6oQvSOdVAc>tBbUIZdO0Wd&1 z;3?{f2Yv?NddKC(^^Di|3*Z~zJHQ9<1CWdRI{?c7GXT7oP%j7W7bUdELD`FhHY6R& zlYw1S5T^sX0x*6l^uQO-`Qm;7?fX^-)WC5%@HoI^9Nz$51NewKakDS@>-!JN(LZ1C z$d}UwJu1;u1HTmF-O>jFf^qyiaF_~oE^q}vIOur*TnSJa_sj#Xssi>55Ix2z2MWE@4^e?G1m<)A z=px|tDsVm4Z%~0Q2HptRf_tE+`mHMP@u7$AaX<`8^r?~ylr;(=`g%qouwKh{{_*i8IA>csmP4EnmpV=dYlkJa%p#K)I4YVv6Wt-tmvqEf33 zF=|SeHQJ~(#I-ZV_!vq2^y$35xOV;qiv4{d8Ol zR0ZU3@Zkmi27d!6jIUGHXdBWvu3cS_XaI?JA;vOw%Np%Nj3Gb{A*sQ1ntpm*y8|%@ zF1qZuA=6s5JAlp2uT$cEjQ${2KW)Dbe9J52y>tvQ#!TC=6 z${0x*Vxms04B1CR0*kpj5t}mmSgpv?7}q!w^2@}z!xJj|^D=2za^tAt{7Br}sT zS*2ZKa(2>!HdQ1hqZ=J;YT-tQn8xw16gN85RKo{lN&IUp{|fcNh35Qg0RNiJzjpF3 zGyf{#qdqZ|KQWX)G1TN-0*?(S!B6?o2mV!}1a3~^U$gnwRsLn>Up4rBp$7g0zDQ|! za3j2LGm?z?&OXFzZ^^IJi5w^CWDUXAemR-Av*ko*u0$N=#l%%GU}ds0afdh6Nk-zX zDMCD8AzU=ah>mq2u3D@!;5qdZODumg$R1jWnpkyqf;|vygeajGavS@Q2ly!3h>7AX zF++-%HfkI-BQ=|}CAGh6*J!tCFKIv9c-Z`6Timvj?PI&jc4O?$*va^Iq;wEyl< z-Jz?)E{BhfjUAUd{%~sTbiwJ1bF_0W=L0&X3)l72&C_ksrRl!9IJ<

~M8)?dE#I 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 Xk2aT?%S{K<(OhA!BxPw6dg^}wc$YKS literal 0 HcmV?d00001 diff --git a/example_livelist/fonts/Roboto/Roboto-Bold.ttf b/example_livelist/fonts/Roboto/Roboto-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d3f01ad245b628f386ac95786f53167038720eb2 GIT binary patch literal 170760 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�!3r53e9=KAt@g zC@@O7A@{cCVgEHKey$zXVSkTkj}#BN6D?R|$*C00-{^^=HHP6KoX${<=<#vMs77$X zA)_S3a?|DBGrJ^K?3)}JUwZe9E>Y=Ylf&cFtWSrn3n=HCn(Q@XqkjdT(#fD^dF4BK z64pZ9;Htfr5k2G&2q2nyBG4p*S!FOQ6tWfgFe)<6)D9l2wd0R=(S;X@OmyLmm&P-h zKmTcG-tEiQJn}I(YLz9+Vm?fg^UmYs11&{Wi|~5DIF?E9!SUAF6OphBbG<)6g7_@* zs;zEr(7I96v9bEi`u1(sbl^a1@oGhiR4ZP-_u}qdm-jpnQ><7_T=C)-mOB+q38vvL z%7{>btMTsP;@#l{NC@U?iC?f9u-1GU)e~3J>WP`Nwem$?YyFi}QBBv&Rf+5-1YU`~ z@(8q;y?1DjWPwk+@DINB=McYzr#9VYeh_ng_qKHES38)=Dm;d3{Sd>)v-ZK`a z++tp64d#VC*!copKW{6fLpX8kAxz1Y(V)uHcw?=4EHN(8X>VVrZu@r2+upC#xN)V5 zO+|+HC*=>RsI5BI3Ctf=wc~V=mlL^m!B|93;NIhz?cM#h>Ux!{ME4>Ca+(~S2vp2uwj+Tjir7~DpqKQ z2evExP+8#E`qrDXALpc*Zyo zWzmeTE##Crwns59qnZ0=QyF;{pN1a7?-`BUH{11e`D5vSYuLjq$RArHK|$LaI3u#N z1TGeStFWfr*%*uH)&l|(1rfel#ZU2L>>ew}?(<_xV9sAeM9{4Z&bpj99XoW5E0QRz zkk`-Kc-R<+A);tjv|zPPu~L&i>k=z9Nw)rjM{1rG9n6+k(b&(>lz}9@sn8W3n#j+} z_})eSF*j+1^u+1gL0+BP|Is74 z`6a}IE-PDI?1}dWs7h&u_xG_>(ca&*dp*Ey;ta?f^Io7F1gWWk21A55mdTa*c4>Id zzw8LFCqHuTLst0;k9f33sw-7k^Mn^AnOzU(dLN%04Cx(j8KZh>5gZ`n!?O`b5~yw3 zu&E2Kj;B`xgG8#CLfk^mczcPixF~NBW)VpagENT&DpRC7COb3Sfzb3MgAv&f3SMg$sGkZhm<$f3d zrB=IrY2NlNFBaK%?659+v1JFdEVJ%$7Mj1pF17R6ylBBz59e-=m7sSS?0PMB9fnMh zkHKFMMz+p$CjUl6X7s?jULl2A4f9Y9Uyh-`ujd?>WE>}x_9N49|uhYywqdYd(6Hg>_ju8O z&0But=+Pr>e&hcpym;E3g|2Rw#UeJYE`!N&d#kG=?xb+`Xrs6n#$NJX0)M0;)F5z&eQ#=_R^OBep_e!% z5!xalKc?ei2-qAZrGXurx2V}W)E|wu36?~)u&d8B?Ovq$kya@y4ZrH_*M8oA(^n!|7RJ zMEil`F2S~AmH^%bU1KW1lR|$ePm&kfW=&OUrdo2{)kSL@a>pSafS$oJp+fwra&Q%f z0jxpgU@Pf%&Sl<=eWb*LveccXuC1_$zV=ds1Wp2}B=EELc|wZn@iHOKh*uChHiW^{ zBv}ZsBw#r5U0F3UN%TZVUMlvrAPgd5p}~nFX^nb=U`mxz6OOVONr{0j0A*rQobA*v zpY-Zjb5)xLtyz^zJ^9_c_s|Y~u6+Ex@%{RYo!qVO1m(ANd&7f%O-U=+bm;CMHa~$W zAOFI8b8ft?oAc(n{re9L`6yUazR~=L6x3BET4t$XB6_CnPACjLR!|sMzA$#DhIkYv zo)1Y;PlllBZFERV2sIfAfgc!Z*q;=h@d$h@Se< zJB7#9U9tP)WocDvlr2-`G@F{ypmzHDk3RqpHRKcI3y{}QmU^lzq8D$uFzz!2{~O|h zDn=g>5pa4Q`F90O70k$y3<1`KZURCR_%BJI5;8Jk)8z|%-Kf@ee@aKxyZef+iqfh5 z(Or{PeCd2;&3uoym~~=!^EOoi3lC_~;7qNdz22!>5Y2{HuVaDlKm3EZejx8AGCKaK zOY?G2MW2BS^>Z@GGE+|b^>7;4)MU0$3P&{P0Pm4%VdK2VoMJ6K_^0c#-m>3l+hawtp)8y2XDQW76lvUze}k3`&ag^lJW!0CPM}G2ddT}*>0l$D ztc5D+u}~;{s8-z$5D)Z{YvC^CiwS_8wM3yqaG^PqfOVvXve1ywG%cEuBm*%B9*hS! zvZ!;l*iJ`W86X6U)*7;?*uG!*1vaH_P?eMlw%RtYcXNJ;uglmidyir4duKl-_Px|1 z@|6&*xDOwrFr0J=OBc0Z$z(V06@^$Rs-LW0qn}yStSvo@idubuUkwaLBSQ=_K`rb> zutTgKOC`V#UHF*bplB(?E^ZQF<4MUf$wAn1kPRWB^7;-fQ%CgsbIAgJ?D5KmyX1MD zS9cjzap2xjRW>ZU!sMSiPHnDahWR$Cy7JMhgXIf{SKH9|OpT#EYS)Ny#8&OHWa#2g zQW_uo;9@Wm+_2yBo+%tB9t0~$>m91yE|aC8TdCr7gf=CC4;$3rF;c43*uo9&x|Rlk zlPiD*rt*DqE-{=n{d$(7%AK6gDy9?Hq)F*C3*Z-MBto@RfnDQ= zXjVHlK%3Qrz8)5%y4PiaJJLmrrDLm9Ptj;3%h>A!9At>P5(kNNlS`9Z0(A|JbCEjV zV3wPw-t7(8fL~y_Sv~s?=-#fE(wKkEANjuEx5hbhjJq05$) z(!PAiA9iTka}XQO0tc6u=CxnbS?Z6$oa1gPjqjXp-Dl&5=!tV0Rqj})$+@b-yVtH8 zR^{oJMYrY5C7Y4@giQtq5N#W~a^^?~;m|Zr5CT-EtqyyjjFIv1;i4I(77kx@o{4uU za?#U_ybza76lYT=bJTU;_yhVX@NcPN?(Go+x(^uGqwh$$>Ea)6A=q1tDZc+;21-5}6Oag&&Q z8H~_oVGGj#)DO+>uxfZbI%F$g8gS7_iUmvE`BQ#lY`=3=Ye~%e;Peeom!nniQ$pNK zUo4I8mF5%6Dk7%E>@C;VI^30iRY|HeZO@Fnwa@tXg?K6HlknY(7wjY-ttNJu1uBPH znyMC8brN+az{S>Yka!>hCHl@p$+!MMS1iV)8N#DP_`(4$s$=Z|g@s4y2n~>@GKbuc z`AkFSKR}8xC+#np#X<4s?k>;Dea{N~#Gmlz{Cpvv!oG`P0O_%pya2ycQEp9lo{$UG zvEn$?Q$>gqG1yo7qJ%%JKQJ9cAt;tYI0&OCRXqv`h3Av4Mg$O;0gIQ=lrb$e01Joy z*VzY_0m>k4Xo?fy$Ur#R-lG0iR(fm0X7*_;Xw|Pj41TXv=^cZv{JIK2r^n9^e27p| z8@`8MKep=y2AP7luJNA+_U$_m-2~%V%q_@eo6)UQ<*GRW2`(Hf8V8WPi-Fspf&6SJ zH5Uw4j+UyCj|a_| zG^AZ|=6fXWqpQE1;;(|9wV55mA|}qk+2!3uMBoSO7l>uNqgo8H483wyu$tR{wD^ch z)L;rrXQE2gs96N6Do{)BCjsY8cBL>yNP$b850_p!pkBSi@-?HuVBhiIqiUCrZ%}L4 z;$$h0U70>S{I0c*vnvl{e@I*FSnq}p7)f$E2%LqJgQiZz%u!D*-;Z=rluJ&VG`4;g zrX|0ou~pANg2qu48g?t9(15g>5kG2-0C=O`04xVtPPV7cVP!I)zZu$r+cZ{0oQzn} zwrXVR746 ze(lU%zGK^}{fAlXsZ;#=VY)|!^8T@&fu9nAz5#&-9G8jX#KDl*B7vYE3V%tDdQS{>F4Ve8x4|9C6?dqu$>S1|Nw*<&?|@8RgCbQ! zw5ndfR}Gd5`3R=o8cd8Nft5(GEcZwf1TIByhYTerfPc<8f51PHSF*svPL`%kC0V$} zhn?iry%w#Svk>8zyZj#*5LNqr&#La@kDe}?as15Vlb=n)-H;Gtv3OJvalTl@Ha)d! zCU9T4i~CGbJ)!sXbJ4ANw0{szG14H=GDedaD#oy93c48MN(D%vp$-P;g4;v7CKg8_ zOOg#a=L}@Q(aer&L8una8utir49xq?b3Wh`!~A=n-P<^ISU2BrIs2ax^JWZ@PmjB{ z;0OLpIpO4J^7{P(_Q>jgmlcsVI-_~qoB_RN%GfJ1CStFFh~#clndaRg2}jvl;xv)t z&`-|PV8qRX^fdRznIz(6NO)^g2erI6M&=kN5@Iy9cotQVo9bSOPmSXRz{O?^BH7X| z%7|9Ccr1!zh;Lb@REL##y#3WYe&wn2CyJH>S32V1@cHvb%Jrq*++)m-3oi3lveeGG z3j-%Yc*z<4dQYPp7>mg65uA81d>=muTix$A#joFb(wPVlm~LQ@IC#_*8m}L0M2MY0 z%>twQX6*JyS8W_GIkg>P3(*R{Jbrn*sp!Ea&aQOHu-Z|4 ztu+{{^+p_Cuc8(vf__e>fV4?G>K3Ch$&g9&Q>p8;{@*CXlV!G+N6HPbWNF>Rd96|7wiAb3DW(W=l(Ih03 zg-%*OkX{e z54xn2T0ol^fon#+`zY-U-Zd>*&*_0NN!Ou#)0hX+ygYyw9F)z>GN?hZT&z=0D_bA~ z#7xsJuJrv$Q-k5#Tx;~4(EKSd;E`PWu6oCkAk1*wwipKw`A7PsK(c1U`znsO-@cHZZ$j1HC9UCA& zAoPYN>nJfQpU*81fOrOdD)g9`F5|$g6okaxQqAsP4L#v90H%Y^J-r9dor-G>>L}zA91ttiFQJ;bo;6uADJ}HR~P4u7J zf!tS3E*Bkkub&)NwrZn@1kTtyPnB_S+9Y%-ateB-7a!@8t${?q@Gm|0x&Mfo5VLtf0081U!YKT&pILsu!baqqy zECLAUhn9P-diyK>2$~wv?54*;=OqDMoxG zeLCN6r;NBi)jT7U{r|84J!=2v0;qTfMNE=uCE`>Jt2q_KpT0btzoMLS&W~AVS{1Y( z&Ifo2p{={AOw-oTZ2G(;6Nz*}sFKB{o{7T^_nx$&(W-e}VUyY;SHi5Y!=>YHefb9ijmYonW(ToCzUcw# zgCm8lafHD>ZZvFs;<>5wQ1-t9)&BhLtf(75Hht z3qP&1$xjo0wSG(VSieaVM2dD{XeBTN69?7nG<^nGl8OxLt06Q>9>S$ExZVTjRC zS~nekOeZ#0b6{%*N0dC3xO`5+f#`rLSM6O{@=xCwfM!o4MAa_-?|Xr}$UWKaxe0|s zhu=B}Z5eYMcAfxFP5g`{zxUcOG%4>ExQm334=mdrszbAEVY7L;xJztEKTC1Z^{wg- zxEi3%G(`IfmcJGB_@l%l@HPf6#L4kb`AdGBW&Fm%awORq zGG@#--~284I-f|uby$D6FTo_aI({&_h?8mw&EM1(0;!aU3IRVYs)Md+dJa*TvwE&Q z|328oa)3t+)6yEope?S2DPqg0G+u<#0@4ci?h*bH(UN2;sqe@!E5F`~sP57!$NjBjY^wUt0cLS-l{AhN_ z4dh1;4Go!!Z2O^VAx-fJ?Imc$tRd;{;V{TeNytsjzW*gE287(>kx&%ufF_V372w)U{$N z={8IxkegzUW>lpf({&rHxDf^?4>v;SO}Qzr#;;4i$xU-J@g9;T7AU^^f?{uaWWa}$ z;uIHCe}DaA8s9wACdxVylYv&S3m7>Z8!W)&k>U7-E9O$*vEX34G`V|i#X~N*kzaRC z;Xg8!b@)y4yw~@uW2}4bLFacEf^bYqmby>pKVauc&_*9)t-&~Fu`(gD^_2->qCYUj zx!pARAAK>?-u}A>hEy-wPYV+g_!blwPo2T9PrHJNUaj~+*88{qEOy}U@GY}gTfT`c z<3s45R8~@u8(%5@$<8x$s+gN6|12;eGgaAu2@&+xcjb;cLK+wx0<@zJ2IHy;!DK2= z%uE0dwOT^c1n_Tm!VUU1G+}B2iVouptm}xQZk%ekcugjv$R?I`L5bjzA-+S%3i<+n z>@{~x+SQ;|op${C(@(zrr%jWid6z%qEVg@-My;DS-?VFvlvBQH#j-0t+OekYxWd&x zUX}IH#*CVEE7YlcT+#SgDTvcFdtv%kg}~7tm<}-C3$v5^rFx2QE(RA|F6F>tzm9?P zDE~(h%{j!_dLosDc1&8`_e^}MkHs}%*u>qYw3+Esg&#~J8&U-9ZiCnUf7N>nhLA!> zQue724V2%^X7DM7a&M>ebF3%?GK=WoPkx~RWg^6qP66Fe7i^y&`ZBS>YgkfH1XnFy zrf6l7xO_@Mem$>1K<4}1<-(2YdIk|~AP`jk>?yjm+4g_KzSJmWog*mJPP=6$VJYaK zuS!>4VpY0dn13^cr6~7NOoeRJ1d|fZ zf931w%&?L;%&h5(oK<6np?YE#44sr2L9DOhtsjh()!RP`XYngI^tyb&C5rL>(U9zq z#QUedWtVPt#9JC9d!~X46LLw!9*{zQ#NWeP?~}iio9DhSH%HD`MmDpnbtRB|5wOZq zEYnnbsnWPQB&*>j<7+WkDQ}z1WumMw-E=Uc9%2?`cE^PvmkcmP%HSdnthc_*ERvlG zL}*DYHc%ikL2!td0s(p#56T}VYkq&MUL_V=rNQymEx3cp^d!NJR3 z3c7|Bj4c?y*Dv?!k;Ks0h<072U}j}y3ITsxDhiRI+t2uK1rht&70GP3s%}4EcTTb~ zsTlv>D$TI(5!#fWR6Y@$1s~njro?pfO!C34{S52_ao`Tv3U6=-Sf@X-OF{fe?sv%E z9+aEq9zfIo>hyVSaU6O0Jo3>MgO6^KJf_^a&R43h76`4_N7QYCZ!P_^FR)Jh-OkMdSdQ2?bZLUvx6wb>d0AX+{eejo>u#yhMg{)~ zB9Oe%|AS{<6xXLHi+xq!MFY@542b|02J(|OLbUl?8fs1d^#FnXng4kK|H(i1q&wjL zc$ZtgNGt-WzAHG4S1a=uq8$iU01F6Sc_@DJg(QYou1%hTSMKMs+)dn|GXT7D5tgFr z9Fvm;{a}onlihA`aRsAj853JPNTs{9@v&0tZx&u2=KP6=@Gqs-7h891-xhM`Oy`3m z_k9Z){TctRX|38V=q|&?wGsY<`nHC_C)a9a=@ug%j<0&I$aHrF1VkrpzWxB&^~8~C z@pC1~Otvh5q$VrQl?l^UZ`=Xf;o3kjl3@t=u2~{EnFfk0!~;kt=pIu z{05RWHj%w-+>t*V_2u~6%rW-n+6zyaqf?VM{e8&DDJ1u7Q*ZF$-YB@{fm>hByK}0= zfC=NW9)P=NBX?g3`w4`0S)>NV#FE?xqT0vB-6rv7O5~d)yl(!e%t4jzqPy*(rEDt| z(N?2wwif2V&nDJKeAcjk@&`;UJy;srENJts5S2|5j=B-2#ddFuVcuW523_61#Ggd2 zqs_8IBL@x`DaKuG_~M>x+SSu+wtH=| zuiO@apc&2otj$B^2EOry*TNkpt7hm z$Uqc0-Q8-&)rU%&!^LF53y08grg*t=+I+!{8)1ek@BKzI28*8ljtbeO^POqZpz_|4 z9Xm)1q1yt^h-TDHcg@?>3?EY~4E^q#uA1^+W}2$uV$$hEKpw-?CE;xNp?|{j!r{h8 zho|71dJw--Plh8mWx9Z3PRN^sP-(hGNQjgoMuf027bo5U;K%FU7tggBA;(15Zu5?s)u$14R!m%snZWukF$t_)p2_m zYvl@;lAmTMb$GoT2rOy5aR|p43J*1@NN$|jD{x~N;*|pDetVhwGY@`NAmG6MzLIbf zu9(IYSgzYGHSpc2+)&s6DW|csT24YqW zx!opcoG@keExS>@^t60!{82Cd~>x?Lui83uOUxOjBJE{ z0kU8~Fn|P5Sp-?o$UqPBbudg8So|&$XfA*>Puu)jww>=K0?-s_$Qga#Ebk|HZ**hB zPzj`0p;4|1dohVt)4}RnR#SrMveK6@e{$ggo-}oflSH2b+LTe-;dUaN6-MEA+L3lU z^XC=1x~ZX5^Qmdx=iIc3E?_~uM=LVH%$S5n;mSj$aD!Q_W3rG z5bJW=Vu(*JC4-oM3?C2i8#0J<&hd4u5BP;y#^gP)2O@G>5Z0H?FxObvU3$b+@P+=s zgagrCJh2pARH!x!RUMfu837B{8X>}7wxnZy0>Oyy0tg#m59H79-X1&l&TTYtEqSKn z0G52NLqDW%!eieL1O&|(@TRjqm&% z>jwZgjDRQVE6lP6;1eAc7lZxjptx8Y-r6E-2G5>@ew&zmcP=Xo% zZ|<>l+5CB4tV94mp9j?Mr+xr-06x|6I169NA3t3*rD1o)vd4#s$LO zfts~`4SgDG*{I4c`{4~yB(|%wpBVn5?_EF~DQe>vLz93eqGv2@RllZw6iM{Efp3(A zw<{W~(M%OorWzvS1cfx@E7ag{;%9;;6(pG@Oh4D4aX}bD3y4nQx*@n`P6$&jlai%z z^igN=`Hi|VJ(@{PyD3z&QmtN2frr+0nT zY99YgVyKSKgUja4l2)*Hc_;cOvg9M!X(~2~H4r4l-wq`AWzPK)h+znRpTj2SHgE zoi$V(D9ui?Mkpo|RG#1URm=JOvlReU;)bA?O5zG>xLoB`Q=Re}^>fd#leD+Vuu~d< z_JPpYQw@95X>YPq{$KZIagfnMB7Zs)m*plC&AmgSitaojb0VrcP$p+RK{%eQNp5eq< z^O@b9s1J6IlomRNym|U^V;no;8IVnzaOzReaqHAb4Gj($gkB+T3Raqu75^i3^jJ0~ zE9=xTgj+T0z#u38I0TcAwI_inG5LXR5Ctu*j6@+e0me~h6Yz($u?T_8P!2ziKT;C; zKVX+%TOn5z(zg|3eI~v7aB2rW6qZg2c9|yyqc`q=K@(++Ol7b z);g5}^i~v{lC0eTlbs{BrU&rdECK7rut7B;fJO^wNyJhK)sQ_@rzXJv+M1AwpR)?* zZ&UTw`iumag8r&Mx}0VvJ2FdWXO>2zwbIe0@fJmsMZ%$2c4jeZI0RZCrbXx;jPIgZ zfK+OZew2wAUzw2xoIsgaLVK2#^^R;(&mm(_Nh2`}^S(86A%FC++@NL6*YA}M?Wx~) zJioVKOP`_R^rme}Si=sF&K>@%Q?Y%M&fS$dcCU~Xe`@){brS2<{MsX_vs_MZ>LytV z@}}}yn-zJHWXmqKP)aEh;HV2q1PzO8G!%kEmm<3BCIp9Y-HD)Z&I7YF%@J2I2AafXNdlcSSCzQp2G0i2nXotY%a z7mo@UBAiIe+6}}@6Xgi_b6RRX?do6R%>S?FnZNw|ZIy}Bn$6uR?cSc=ZNkHKn@)~c z@tl8mn1B1P^lbPgX~UvD4QlLN^}Zx^>`{JOiPK{zEvQ+3)*)FI^osC8^tnAO%v9ie z96`zuQuicA)?`RXAe0V}PS(^n`X)J7FW%aeZ-VHFj^oIxKATjC>7 z-1w^ZVKlLe+Xe!MI1E=ONTHI8iPXyNP_>|@L9nc`D`W5ml?oNCOFqyYZJ;wPaZaEymQ!?;X}rg z-{1{h>S6s9d#i&8FClz1T_X%*UA+j_*B|H`Q<+T^k02>&2u$IMhh|U}S}43#JK1p3 zxWK?~%Bypeq{!Cs{4lD5BG3?EL5DWd&qsH$+|fB%P$k|954O8A=c zW9}#!bBGQfSc##;$GsA?yG0WZyRg=O4+`v5YUi}-iD9XUm3;4`{(A@d5^U<~fwWNBllLe#a5_-vgd?hp@d0&r9a(ZDA%*hEz2hLD^= zduruvn4}?Q6QlpI!y;xATLO>;O~Sll8!`bQq3LO&BWdc?zqg+KoBzQ={yy`VMe}b* z4LWmqaNn~7M@UD`@QX)7#!ZN46Is!UFpVc94CoijXYp@5PTh{}-Mt~7R{rDL37xvd z-4#}Fjl5ZyNbv!z;CRdl(Y)kLU?KI~ktx`to9-z7$^`VmA?yQ#r%Od)hR8l?Mg$P3 zB~+km)-s{MB-i|9Ru;WgT$>BR)@t0nulCHBNk^Kim z@}KYe|IU93A2=wICEVd(mUsG%+)$`nk8=Fk zmJ+~7e68)WnoK^6+tfwr2@F1O2U+JBtZWEO;FrdFWDL0!rahW~qZu&N7+zU6JF{#` zW{GUfXw52~-)a_9RWnnwGgDKt${T)J){$8wJF`YgW}WQJIwZrpZFzwa?H(~!jyZy_!an~qn<$JST|NiX| zxhgcEW7`1(+71b7KL7I)A-!k)QGVdK@%5cotIK=3R>WYU=l6KzP5yk%8s>GI-M!7c zo{XEpLuZT|HI;Sd+oz5iH-p`qF^)Z)9oNXSpMTu7gp_#37c{Tbw@>M@1XHjKMAXY> zy@V`FC90xOJ!{t?y2E%ZMN=a)YZ~dUE6=yl9d?$W?0+YJA?-=1)&=>C3i79CXQroQ z7SD#7&MIc0G<2shJxt_JcVt$}&a9S_St~oUmLNZ7hKhuS$ekl&BgikxebMMvFZ*>- zACr?%?@QzdUO~wxzf$qL7wq0=$9ncY`q>@%#id3a8&zG!f|}K=+Ne{*ufp1{U6WR< z@2rV~TCm8`&R+%Xl?KnRoW1g5<;thues$%=y&+>h9Xt5p`mN)K4j%jIm?7-t?4lKe z`Z^MZ_8Y_aGB>@^$CaX__JZ*03R}kMO`>f1cCQIa>vqE-iNvj@u^l!K(H05uH-jP~ znS{$)Fgvqg3jF~7j!&T}Uxib$q6|bWtX*jI44^?WZ;ziQq{pH$e|-AeU;l>LD<~&ayc76c<4U{V;{|)jjcliw&QD*eTZL%qt`^3xmS(wT6J~f zjuOE)L_87+J%e>cFa$#>D;5t|TuK+?6Jjj-fNknymnJvnm%saW0mH;rD~sfphfg2B zaKX6G(4DJe9INt#B_3pfYk2Oz^QL^VpZ~PuG)!{mX;0)XlOU$NK2Eg{Q5^fFu&WMKjsfRH$sn*D@XVW)-8&~{TBR!mAHGV zMSrvx;pd2I17J5SvsQsd3v`dV(#=ln-fB;f;{y{itl}Tu+Ma-3ps{uNFCQNKjbE?B z629QS)?@KU_upa(4fzc;#GksCpJt2qP2I=(?wh`k)#d~CP1%cHxg(VAd9|%hMDYs1 zNHTR9#|H%`WyB_h20II9F)5B^Sz{)%zX!5wc->fQXx?zl04PA+OVN)TD#wn{qT!O^ zs^Y>Tr-c?Le)+%0yQT`^15*l32;|VtUs6f z-DYE7cy3ZgQd+R{W%G*cgf*h(z->z`9VXz7niRLIrL z7AcusQ!>kGev=+E%<@$7F<`ZXxm?SU)zI)uRKK^Nb^`dC)!y*?gzU_&4ifQQ9a()0 zzlVA)=g6v>{~Iip`qyFtE(EnL7!Qb-T#sNmyB@vqr`KPV|Dyc2z>D(Vf!^I&Xv8NY zho+TEPGi50?9^q{u=L~-X>~_+>N0X@ddD>WC4PsWl1rvJo9It;HX7-A3IA1pVmf}H z*Op9Ep0w=Sw`FohdMW;(W#2xnN|(V;o~`=yZCScZMzZrI{gr;=x3uSFBwHiguP{8X zRUhrO2q3*0%6qVb)^nKj?TH9DMLP>2o|HtrPh(S%jisun$dt@P?WjyKr4Xb;LPFrx zQm{xIB3xXwUkSwxl9K|{WR_tKPQVRHx3Y|cP%E=rlM>`4IU|sT2HIsl!h3wz+7*28 zMJnWriI_WcM)~p&SbKS+#H!WgKj%J?_^Dbfv3S7B>gVLHj#V|zR`TNqST|+6A8XFH z@&KQS-Ro4OFYJBCx|$bq7YD4XbwRo%vD&rx_qjJEeyk2FP92BG@;=so?J1~WxMs0n zciYgcu{^U|9Lkuy%OnYC3+}kT?=`e)$E$|$K8n-&2(Nmmy$aJAbLds_q}N_WDn`7@ zohfS~GG$}lk|{HJyuxPICAC`}0}*7(m-z^skUL-IO*IO}w8{UGEE5f4^`fZ%m@IqA z3%QbIFOO{5k~>*Xm1zj9U*LB6!>VYaMryHQ#L^U(?IyeceG@uDMhz7mfe~9ZrA6Qa z7yu-=j}#IVO%ot*U@!!VE(!Fz49pFFpI?^B?RYtR{^;H_C+z(xV)79F7xSr+JfXM5 zoO#yFvA-<(dg9CuE6cI=$?pu9De(-)f)20?h5(IQ8G0uWygXDbsKrJLl1R~x+T<9T z>;fGmBRE3$)KpIg0V`BL@r~fBMh_gmnjtWQEjhHUh<2N?p%5ws$WNo@eIZD|CS`<{ zRVt6^)vtS-p*wmZwCCg1Z_kBaY4+UQwDh?Ziw*7DE?f%ad27bD9aUyHm#jbapUkiF zT-%x*eR-_`1?RLISPz;EMu1Wa9*rkW)p5;tCN?(t;<{?fgtu#mJYkXXG#ZKiQ)>C3 zgZ3q;^;qS+7d6pl7}x{sCCv9x)=|)3#;)ADG38d;2v``>UU*~I+sdPO7&i9@(lDZi zgjK|Q&gA=*L*S$kbRm!hg3?`fDPm+g6A6GBMW~VZF}%Af2aEYB&^>UwjKO!XmBFeJ ztDw<5aD7l@3`eOztVo(rv+x~g9aOnay`_0<@-zsT_q68Wd=6m1e@yE>V5gKV&K zH&#jb)8FNP;o%2c8me9b8Rjm~H6`cuGzhFi^Lm4X&mv>Gbbe5WRu_!b1&2s9BZE5c zip9x|c(oMf$BIi|?;hK&A6q%4j8=kkgy-E^!E?%;E-|&ojA{LZOj69v48(tW$^<2OBH{y7oS`63W!ii|*cnLjQrkUG z361jM4hR|qq|twY)~c9!w}VgR&&uv<#=m39&2}Z=x;uO4-j|x(y5+<^oF6dEo{}12 zr9iqW-(m+rmTuZgO*h(fQ2OG;^%ioAxJ=(MWhqhMJ zb$z?xPE-|J!dg`in;2N`VXFS4>un6q`!LcNU^GG0bU>L9Tf0?-5TKFLf!=?Ka+v8_IgH%off#>?dKmCI_}0n=|LgobL-6wu z@bh!Q&uBPJ_d=c^_!(ScUykSdq6dAx$?{fy7H6U-$aI!L1XEBRMl!Uof!fH|8aZ4D zAAmSC=?a+2`%*o5gL9dfRY}RM?o#9XITdI^B~~NkthFE3>x+Kh`RmdNEbf{9;J>X) zKy3xa_WyBti&!6N6hEL>vq*E9dOtT)D`+8Zn928g5bi3>GC(ch>N)1B_!EgDor3N} z5wWXYfd-tsr~?Jj;N2PGtwb~f;GI&&hNv27_%`uPB()Y^Viw>_^%nbb4YLT}o8NPP zAir;;>Wxt9&FS((?V3p|tXQ4E?hq#JK?n}Iax8@4+VGA{2tuTP4agO-V#OuWDR8NY zGt#f&tZH7)YLoAQ-j!OcS%*5x-9jq3UpZ2#uNz6_Hz18Qc7RJ-YGq=lt}c znGaWY8qB`iU+LnIGZSWC8nv@|XXl!>t!6fCxzOrcv*G)!!l}!9S?DI`nYBNC`au4i zrF^oHFIdh0+`pSYIPZ|yh|{%Z-}!Xsa{d_BU8}r1%41k}amdAiK3Xmg^oe)T$8={R z;H5<9=c|)M+%uh6picx*81zAI#ZVtW^fAV-L7%w%5lw1>Bwhw@yttb_q9HiQgKpCl zkx!)l;IRMjK+r}fjV)Mte16r0#jp6ML(Yt^P-Efnt|!-QIzOjwOK$Jbw_MR;T#X{-UQ(NV*s$ zIwBE5JH8Ik@uo-^lD95FC<<+$a}LR;`A5{JO0*_93(a#sx464G3A2>sC#|Sx!P**$ z=m&kYDa+tatit3o3Sk5zkRdgqgk(pihX4wR=?ut(2D?lQYLLP_uSsXl<=0=yP4C}# zu5(vlfvWRB)tiE$!szyc)_P6 zVC>qs0!SoK6Yhk;Sj-G0I#K`*hEZ7pamEH{X&~yuy1vtZoj{G0;FoKU-udz+x@hsr z!-skULwnuRA+4r{EB;=8-0^>Um0ciNjva`eupwBZ&1HWRg-rkm6VP10F+d*+m;e&oEYlTy(v!%Wy!LV-ajQMSJi7{HypjJdpJ?4qHdbcGCCu}w= znR1|p*0${uTGK3B1Z(n&SK#B@JdK^7G&sshxS_n;dH1ZD$Y4_>y^k8A&0+`gNAG57 z%IWEAQe(BTq9~>?CfT|LHkBeOh?q*MGiSx z1hF;vX3#RfkUT_8ZA#u{p_TfGzU_&Y$J+1Z$%vYfJ=s9aR|>+^WG_+8r&%?E!So|A zg_MLI((y>*!s`!ozZ+$izQ=g)15#h-0qmcm1r3xCoK+Ae zgZaF^Gu;F+DKpc~@;6g}CVPv`sMRFEeEz3ZQzf8lIH*`P?0U%B^M{&L_b*;^POIQ^a68?_-n22?|dNCpbf#AjLm(gr*ao6ylx}#P9KZdpq&`(%Q*d zf7E|(>nom*hL?g9{=kXTbmj-vWJpr#wbD)X(C{#*YzlG78Pmz@K~VKSO(Z3181h17 z)0#6_BsGEbNg`P)8W>TOC6J&#Fv+BWtRWk{onL?7IHP6nXP9rmHCqeC;6BA z8E&RFsyU%pPD$5!|wh{)Ji78T;^$0Y9L-eCG z_&u2b*%>y2hgw@%*ioT$S!uosq@-5vNl3x?bm^gUi+q&v4Ih2Ze|^5}!8BH4O#A-R zXDyqBzM~iTq}T_i&)n~Oa(eUL{aeqQb(~~Mb3RJxf^&+5H>B^u)%;A@e_&OkiHE+g zq*~QTZ{hz&reuX1iaD&20_Bf*oM9ihN&juhe>*qGM;KrK@fZBYlco2kvbYJI2F{+d zY#ywzlYDs0{ZG%_>-)*{mi-5}T`=n-aA*Q<)+)hqStyK8loHnlFuT+ey-ktBu&Cdl zQ$wlJLgv(xw+RmXvl-(2Qexh`yl&!|@p-RcnW-l|psVQVYE$|$RJ@SxKnSGLeDMjI z4c$_P)ra2)Nuj+i@hn0$&oeART^wT1J4 z9`7v8uFdGvZw|tMl4T^~Ot4>|+v6;)408%2T-jS<*yP8-y{F&}lm)#BKx1MqjVAVMoqfR{GUntmHebdfFtv5-cIIn53Zm zV(O#eb7u}6_w%BwNX0zNsUgjq)aa*?&GH)D;g773^oaK0JEet5|NCdFy0X}s>Am_ZN_7@lu&5+WzO|G;@7(Xy znct<2m51~kaB*y9JK9j#SlTG5YEHLCt)*Sdk6rD3zW44Ivz3q0Y5W!QY`Omk|GsT~ z+}Y}RH?5Cwo<%IZRc|p#OxwTd9OK~Y#)*hUQPB$!5euWMh6s$ocE|8laoBODAb=VX zM=!-@30I4Wskp}q@V8baG}!jqwq=q)U!I;h{u$rTx&d@sfZt*Pc2*1kGAp*77*Sl3 zrvI^$?+NVRU26WEb?>wLxpeu9zq(a?-mGXj>D@)gu6F;T&z={va4V~J0n5Vw%lq9L zDDGPiHOA22NQ60b9je zsf#pc%(|Vkr->-M-hPK~wI_En2QyU%%u&+FNzLRvC*kjJ0%kS6xxT1ROBa zF}h33m^cdxJpH$0w20z!RFxS#4xFE>Z&)n0A@I`y!D)6>1){}IM!eYPbjJUfG7NKV zSgj|_@7@zkWE$LhO^I~drAo>@sro(Zr+o(BS8jg(Yo9v&uih7i{9eCF^FCcmpXh%N zdl|$RC@8QKdr@2!WUjpk3r#;N!(K!qjMw%8G>XA)RvrIwFQV~k5;l`6HWO;vOJdRv zmfN;nr)K<;2TQ)nEL(OfC=|hNid9fiE>0%S(hK!`g~1!z?J`B$Owre9T(xLiH8MYphl4=8VMAywYdjS-G@7~; zl6Ew<;f2MC#GpZ-pnsN((0sUGuai65rVj1u7a^-v(>n-Rl0=tk%I&2WFDV~$1)UZz zFOtzB{uYan4&+>{(`L&GajAB_nDhBL?5rwciNnP?^-^ODm42oenW?zXy-m1iukFkr zJ>cAB88U9D%6GXG#zstD2s^YjG82&VLzYMfeJd4N4d0A{g*5f++CWCWMf=YhRW+?! zZ_)sXkvO%fx0ms;q0SRDyIVq@HRodembwtcd3mt4SILtg-vT@A1kFdDUm@tdg2HCj zcv6Hd_3I_9W&MFE86)DJqzmk#(r+To5?8C)0i9oJ-)g5l*&Xz)l)aiAE#HhM9bvLf zh+AFzdE-1GFr`O)v1qq3oW;^vl9UX0o#ln^eb`>!8h%Fy_MWq9gSOJLDF?sSj!`*t zky80J%;K6r^@c#y?Gwr&7|bLxQcPe1E4nr(3G5nB+(H}Y9}XDMrbx#R z@f+LN78dv6^|@8%Zd>-zk>$h2$Z|SMNP^42e-7Tn!Vh915G%N)-ETF&-Ocmfy(Eq3 zz5LwnwrziS=~}N1F_S1uZ8gx)_r=r_MYsQrR7Gnuk-J7iQd3bv0%d?9qamBA+FTfX z`s&GF=~1(S6v!e9GUdi65Ba6(f3N$vYjTfy{U*=-LCUB&w9Cu}yN|F^FQeAJSXkr# zWA42Jqo~&Z;XO06yXo2VP}4|4H9$y0lLVxO5|G||FQEz|(tAfhK!t=NMHH4H2qFkd z6A_6N8v=rWQoM)_A=#7n^PJh)ok9HG`}^-jGh4EmJ?A-3uQ%)NToOM|$eNgvpR5Bw zAEhkKRjZyI2*fuzcs(TX4?Bf?x(IL>LZO5P!khaPx&sB+S^lCjop;Nu)prmbeF0oBqmrML%fRkvWRyf2CfVo)h@etEiu7!s zv$@BG8Wch1$upO!iFWjk`$k^GKgxc-O-CWitCVI+(dp9{0?7HxlUsC=M)hC3dfen% zpZ}&D|D3RM7_jp(u(Oh7lA3Jjc5e!Nc~0AqV4)^Pk)5ZNM_Cdb)LiiyRZ_-qOGpwm zTBJajp}Fa8~6kM z!TcFxXRtIDxb6u;WQ&GRU(I}upIWqnz14Z>khar48S?XqX*(-d-`fA=cSDX$YSpLj zi^uNuhs9Hox3pyfbKL$Mse^(>-EIr10Zz>A&yhOFs6d3J(Ot=v&RD-j24N5^O3D`# z8H*@wh2lb1E>KCN6o#cnU>JRBL?jh(rLhIM7jF09=ig(k+GqDv-emP7kVn~}*Oc0w z5*GBt_l;sj(njefrjVo7;~B5lVr5(8EK5_i`)5n5vsv_+kx~cidF{QKmO+EEXnl582B$vR=*i z5!{{bWAPPbPn2L8mh8^s{{*+WJwSe#GjI8hH@lrD3~j{Eu^E zHaDBmF{j!29&ZqoM=Q~?6);F*vwh&_VY8{NJl=0EKa_6Zeo1Uj5WPQ#4HX#D2+di) zMc$kbPBKRI6V*DDb74i#7s_HqssLpRVA1+sv0|&(G@g99Of0<@vn=a`JxBxjhdFce zzB$$Ra*Lc*uYG-{57J*4@)a#g6tLExI>nIy5t30iaK(Y^V$!6adSoUvQKJkLVJ$)g z5`CILSE4XM;u=bTdLWsiuiT<|zue*>HE5#m?+0fZQB4>s$Hn&x1xx>a(^m@XMPH2g ze%+nvk#n>GJv?cOX(3=>R4)NH_>fRRWTWg95i5%GtXNw$#ov@nto$n9%DT}Hyn=ms z9)9|;{5#U%yR-$wzGxTo*dJ0q`6hA^qEx>i@^@PheRGN&<8R7*-xcR0l4P}-h@`Z6 zvxkhBAjcmH$=dt$ zd)Wz0VU~gHd$vQi;S@`$ascVd^!IbOPN)`_qN z0HSd?)b=2uJ}8C!5wV5NSmet(_Ehmkh{?%Q!|)OnC$$TmH5|?c_^@M76T`322BVet zCGd{GOsRvB2pvN)AP)n0rk0_s?LCbpvnVmymI|dv4p>Q4=r7!I!~H9{s&nzmcI{qU zxc9xKtJ<|&vDE3RvVG1Hr*qMqci6Ng(y1lR=4q1~*Uo6nPBqOCPl`IeP`7rY#xJ}3q7F>G!a zn@fM!)-pv(kl)n)4!y)>t+rgIze4~IdB)72Mf0CO{PkD)O+Gn{PiD&)m_37jHc}pI ztpcv^3wlJ#4*nzq0NY7>9Z9Puj+G|8DIG<^qg{%HsCX09D`?kajR%4w(cL;rOJu9{ zAfnRd3D1IHbs{&#EQICga9bOK{osYl0)_t%c;V-Dp#r6G(wOj^K;r`KcqoZ&xsu7& zi^`NfiI=RqUYUp1HAU>xT{*6Ay>q@ltHC&ZudebDN>E&J^5^`jlT_3N`NZxr&^DYFjkQ=o&y zpc*L2a>P9|ovMvvM9p!WxF)$hheG+)&rVoN`U^b-;pO9GM_ILr>G0eOB?0a;07EhW z1HOBk;U%KI;L2bSaN>hWgTH`7GY4uX>56(PypMV+ykA~C2M57(01khZNI`!nbrJYM zt^%=ifG!O`+AD_VR)CV>Vfk77Lt5YG{1<-VGyH?pF2|}MDPZK_(|m^7KSyeAlP~9Q z%I9_r0>uxWvP--QyHtE<)22;)ALbKTmZ1OR7(kEaXl_;GwKO3^dtddNPPWIz10f_0dM| z!6C1RiXRKEW;BCa-p`A5YLNB^5K2(6fN%)20pWmBk@S~@c0e*z-r~6j`S2MaA3lSn z;&}z}JgHEvsND-Us#K^}@w})ikP~rYAg3Kaa-1xFG}=aIOX^mWngImONMLx#NRV$H ztIVp@UAn8(soM*9;i%Fh__>8wJ}UM0+`6nv&OEvH{stt8f89M3Ha7kgkYiW)ZgwCdq>dsUS$?_z_()QV`+1!-GwUle?W%WmJd_ z;)@YDe-Db{h+(ZHXj~klT+xN>JpYiTcWcjRssb9$pW~(5be7(A_1ymhxO!L2R%;Bd z9&cIcu36Byx`|T>*+l#(K2rGjXMJ|;*s(K&JV^6mMW+J1^N0pweGv&!M3nFrgeBuh5;0l_0wf}?CM)6>a2`9P zIv+56Br=z*}xeA+llL z0&_8L%-1VF)IgDxPXYjCspx8Av$KdemW;q#Tn247BToMQ%jbelr>%}UTEOoMY2N$fYG;D$NsyG`Tz&Fo2`LN6&PPTR&9N$v?n;75nDT=3 zR!M4@=zW9K8k$KQ1=m3oV#$4Q*%R$uCI-*Cm8vMgeGx*1N`Nhf8$J^OWJc{Zy-#P1 z^9G?pkuc;&spYLAg}OYk9!hM0H4tJ?%SgjdNL)llgq?nn%UN#B}$Ie+Nfz2kCq*LrC{^{emg*uIZdI2!j2xPL0v zO_?ZB;1;vgQd-YkSYvvB3X>78N8z2oE2Ie;RS;-&5PvuxzZ7tK_{e+v<@$l@ui?4T z3F^do;e(K+5Q>nc2$7hab%`J}($X|dO_a4Mad?l#VUiCpQy#)U;TO-~pOn7k?*$k# zU4(8$4frQaE}lMy|MtlzpZwnHcj?eemluEYq!r7&GIRzbt~dbQbe6*pSsHX#%TgO% zpUc##OZo+>@BnFCp;_RX0j`K<2N{4rJO~~$hF&BhV3kOk88{0_4Mr?Dj!~C~Q4(cf zK#4lLNp$R~YIq-UpPJs6KuI!BMV@o4r;-+aYf`?<=4zB~osy*rOH3-rn>TmMCKj;i zXuWDFwKHl~t;-UeisK<@luF}X-@2&T+-++nRILLevrenp zRb2Jwy}fx^^SN(tU7%#N(TvVNg;^(ADwo`o-?M%P-*OzL$1<&b5_E2w1ntgq);%q% zJx~O}QDJQ}a2~K&$bW;M-f5>lr(mDyyb*9nPP3uXI)jo-g|UwQCD^F!&Vi4RetyjV zVqN?8?W&x3Z|#Rad@wNg;_AxfTSwgaE+qKF5VrM;yGQbp-{7D2&6qk?idb+erh4t& zIPvLFFyFTxh5hOPH>zmaqQ;1*KO%}w_B~w{aSd_zO-{z~ChKxgoVEVKRI?lJ&JYmz z5sMe1pD8v676i~pP!Ca9