From 13ff868cde6739287a7855d3d6b682c13b600d6c Mon Sep 17 00:00:00 2001 From: Vahagn Khachatryan Date: Mon, 16 Jan 2023 10:39:29 +0000 Subject: [PATCH] Test channel for Roku Brightscript. --- .gitignore | 1 + LICENSE | 1 + README.md | 13 + makefile/app.mk | 676 ++++++++++++++++++++++++++++++ src/Makefile | 25 ++ src/components/mainscene.xml | 37 ++ src/images/channel-poster_fhd.png | Bin 0 -> 15427 bytes src/images/channel-poster_hd.png | Bin 0 -> 8256 bytes src/images/channel-poster_sd.png | Bin 0 -> 6401 bytes src/images/splash-screen_fhd.jpg | Bin 0 -> 57034 bytes src/images/splash-screen_hd.jpg | Bin 0 -> 33546 bytes src/images/splash-screen_sd.jpg | Bin 0 -> 18990 bytes src/manifest | 27 ++ src/source/Main.brs | 74 ++++ 14 files changed, 854 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 makefile/app.mk create mode 100644 src/Makefile create mode 100644 src/components/mainscene.xml create mode 100644 src/images/channel-poster_fhd.png create mode 100644 src/images/channel-poster_hd.png create mode 100644 src/images/channel-poster_sd.png create mode 100644 src/images/splash-screen_fhd.jpg create mode 100644 src/images/splash-screen_hd.jpg create mode 100644 src/images/splash-screen_sd.jpg create mode 100644 src/manifest create mode 100644 src/source/Main.brs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1521c8b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +dist diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..584e471 --- /dev/null +++ b/LICENSE @@ -0,0 +1 @@ +Developer Tools License Agreement: https://docs.roku.com/doc/developersdk/en-us diff --git a/README.md b/README.md new file mode 100644 index 0000000..6318feb --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# vahagn-test-channel +A basic sample channel application for Roku + +``` +% export ROKU_DEV_TARGET= +% export DEVPASSWORD= +``` + +``` +make +make install +make remove +``` diff --git a/makefile/app.mk b/makefile/app.mk new file mode 100644 index 0000000..c62ea9d --- /dev/null +++ b/makefile/app.mk @@ -0,0 +1,676 @@ +######################################################################### +# common include file for application Makefiles +# +# Makefile common usage: +# > make +# > make run +# > make install +# > make remove +# +# Makefile less common usage: +# > make art-opt +# > make pkg +# > make install_native +# > make remove_native +# > make tr +# +# By default, ZIP_EXCLUDE will exclude -x \*.pkg -x storeassets\* -x keys\* -x .\* +# If you define ZIP_EXCLUDE in your Makefile, it will override the default setting. +# +# To exclude different files from being added to the zipfile during packaging +# include a line like this:ZIP_EXCLUDE= -x keys\* +# that will exclude any file who's name begins with 'keys' +# to exclude using more than one pattern use additional '-x ' arguments +# ZIP_EXCLUDE= -x \*.pkg -x storeassets\* +# +# If you want to add additional files to the default ZIP_EXCLUDE use +# ZIP_EXCLUDE_LOCAL +# +# Important Notes: +# To use the "run", "install" and "remove" targets to install your +# application directly from the shell, you must do the following: +# +# 1) Make sure that you have the curl command line executable in your path +# 2) Set the variable ROKU_DEV_TARGET in your environment to the IP +# address of your Roku box. (e.g. export ROKU_DEV_TARGET=192.168.1.1. +########################################################################## + +# improve performance and simplify Makefile debugging by omitting +# default language rules that don't apply to this environment. +MAKEFLAGS += --no-builtin-rules +.SUFFIXES: + +HOST_OS := unknown +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Darwin) + HOST_OS := macos +else ifeq ($(UNAME_S),Linux) + HOST_OS := linux +else ifneq (,$(findstring CYGWIN,$(UNAME_S))) + HOST_OS := cygwin +endif + +IS_TEAMCITY_BUILD ?= +ifneq ($(TEAMCITY_BUILDCONF_NAME),) +IS_TEAMCITY_BUILD := true +endif + +# get the root directory in absolute form, so that current directory +# can be changed during the make if needed. +_APPS_ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) +APPS_ROOT_DIR ?= $(_APPS_ROOT_DIR) + +# the current directory is the app root directory +SOURCEDIR := . + +DISTREL := $(APPS_ROOT_DIR)/dist +COMMONREL := $(APPS_ROOT_DIR)/common + +ZIPREL := $(DISTREL)/apps +PKGREL := $(DISTREL)/packages +CHECK_TMP_DIR := $(DISTREL)/tmp-check + +DATE_TIME := $(shell date +%F-%T) + +APP_ZIP_FILE := $(ZIPREL)/$(APPNAME).zip +APP_PKG_FILE := $(PKGREL)/$(APPNAME)_$(DATE_TIME).pkg + +# these variables are only used for the .pkg file version tagging. +APP_NAME := $(APPNAME) +APP_VERSION := $(VERSION) +ifeq ($(IS_TEAMCITY_BUILD),true) +APP_NAME := $(subst /,-,$(TEAMCITY_BUILDCONF_NAME)) +APP_VERSION := $(BUILD_NUMBER) +endif + +APPSOURCEDIR := $(SOURCEDIR)/source +IMPORTFILES := $(foreach f,$(IMPORTS),$(COMMONREL)/$f.brs) +IMPORTCLEANUP := $(foreach f,$(IMPORTS),$(APPSOURCEDIR)/$f.brs) + +# ROKU_NATIVE_DEV must be set in the calling environment to +# the firmware native-build src directory +NATIVE_DIST_DIR := $(ROKU_NATIVE_DEV)/dist +# +NATIVE_DEV_REL := $(NATIVE_DIST_DIR)/rootfs/Linux86_dev.OBJ/root/nvram/incoming +NATIVE_DEV_PKG := $(NATIVE_DEV_REL)/dev.zip +NATIVE_PLETHORA := $(NATIVE_DIST_DIR)/application/Linux86_dev.OBJ/root/bin/plethora +NATIVE_TICKLER := $(NATIVE_PLETHORA) tickle-plugin-installer + +# only Linux host is supported for these tools currently +APPS_TOOLS_DIR := $(APPS_ROOT_DIR)/tools/$(HOST_OS)/bin + +APP_PACKAGE_TOOL := $(APPS_TOOLS_DIR)/app-package +MAKE_TR_TOOL := $(APPS_TOOLS_DIR)/maketr +BRIGHTSCRIPT_TOOL := $(APPS_TOOLS_DIR)/brightscript + +# if building from a firmware tree, use the BrightScript libraries from there +ifneq (,$(wildcard $(APPS_ROOT_DIR)/../3rdParty/brightscript/Scripts/LibCore/.)) +BRIGHTSCRIPT_LIBS_DIR ?= $(APPS_ROOT_DIR)/../3rdParty/brightscript/Scripts/LibCore +endif +# else use the reference libraries from the tools directory. +BRIGHTSCRIPT_LIBS_DIR ?= $(APPS_ROOT_DIR)/tools/brightscript/Scripts/LibCore + +APP_KEY_PASS_TMP := /tmp/app_key_pass +DEV_SERVER_TMP_FILE := /tmp/dev_server_out + +# The developer password that was set on the player is required for +# plugin_install operations on modern versions of firmware. +# It may be pre-specified in the DEVPASSWORD environment variable on entry, +# otherwise the make will stop and prompt the user to enter it when needed. +ifdef DEVPASSWORD + USERPASS := rokudev:$(DEVPASSWORD) +else + USERPASS := rokudev +endif + +ifeq ($(HOST_OS),macos) + # Mac doesn't support these args + CP_ARGS = +else + CP_ARGS = --preserve=ownership,timestamps --no-preserve=mode +endif + +# For a quick ping, we want the command to return success as soon as possible, +# and a timeout failure in no more than a second or two. +ifeq ($(HOST_OS),cygwin) + # This assumes that the Windows ping command is used, not cygwin's. + QUICK_PING_ARGS = -n 1 -w 1000 +else # Linux + QUICK_PING_ARGS = -c 1 -w 1 +endif + +ifndef ZIP_EXCLUDE + ZIP_EXCLUDE= -x \*.pkg -x storeassets\* -x keys\* -x \*/.\* $(ZIP_EXCLUDE_LOCAL) +endif + +# ------------------------------------------------------------------------- +# $(APPNAME): the default target is to create the zip file for the app. +# This contains the set of files that are to be deployed on a Roku. +# ------------------------------------------------------------------------- +.PHONY: $(APPNAME) +$(APPNAME): manifest + @echo "*** Creating $(APPNAME).zip ***" + + @echo " >> removing old application zip $(APP_ZIP_FILE)" + @if [ -e "$(APP_ZIP_FILE)" ]; then \ + rm -f $(APP_ZIP_FILE); \ + fi + + @echo " >> creating destination directory $(ZIPREL)" + @if [ ! -d $(ZIPREL) ]; then \ + mkdir -p $(ZIPREL); \ + fi + + @echo " >> setting directory permissions for $(ZIPREL)" + @if [ ! -w $(ZIPREL) ]; then \ + chmod 755 $(ZIPREL); \ + fi + + @echo " >> copying imports" + @if [ "$(IMPORTFILES)" ]; then \ + mkdir $(APPSOURCEDIR)/common; \ + cp -f $(CP_ARGS) -v $(IMPORTFILES) $(APPSOURCEDIR)/common/; \ + fi \ + +# zip .png files without compression +# do not zip up Makefiles, or any files ending with '~' + @echo " >> creating application zip $(APP_ZIP_FILE)" + @if [ -d $(SOURCEDIR) ]; then \ + (zip -0 -r "$(APP_ZIP_FILE)" . -i \*.png $(ZIP_EXCLUDE)); \ + (zip -9 -r "$(APP_ZIP_FILE)" . -x \*~ -x \*.png -x Makefile $(ZIP_EXCLUDE)); \ + else \ + echo "Source for $(APPNAME) not found at $(SOURCEDIR)"; \ + fi + + @if [ "$(IMPORTCLEANUP)" ]; then \ + echo " >> deleting imports";\ + rm -r -f $(APPSOURCEDIR)/common; \ + fi \ + + @echo "*** packaging $(APPNAME) complete ***" + +# If DISTDIR is not empty then copy the zip package to the DISTDIR. +# Note that this is used by the firmware build, to build applications that are +# embedded in the firmware software image, such as the built-in screensaver. +# For those cases, the Netflix/Makefile calls this makefile for each app +# with DISTDIR and DISTZIP set to the target directory and base filename +# respectively. + @if [ $(DISTDIR) ]; then \ + rm -f $(DISTDIR)/$(DISTZIP).zip; \ + mkdir -p $(DISTDIR); \ + cp -f --preserve=ownership,timestamps --no-preserve=mode \ + $(APP_ZIP_FILE) $(DISTDIR)/$(DISTZIP).zip; \ + fi + +# ------------------------------------------------------------------------- +# clean: remove any build output for the app. +# ------------------------------------------------------------------------- +.PHONY: clean +clean: + rm -f $(APP_ZIP_FILE) +# FIXME: we should use a canonical output file name, rather than having +# the date-time stamp in the output file name. +# rm -f $(APP_PKG_FILE) + rm -f $(PKGREL)/$(APPNAME)_*.pkg + +# ------------------------------------------------------------------------- +# clobber: remove any build output for the app. +# ------------------------------------------------------------------------- +.PHONY: clobber +clobber: clean + +# ------------------------------------------------------------------------- +# dist-clean: remove the dist directory for the sandbox. +# ------------------------------------------------------------------------- +.PHONY: dist-clean +dist-clean: + rm -rf $(DISTREL)/* + +# ------------------------------------------------------------------------- +# CHECK_OPTIONS: this is used to specify configurable options, such +# as which version of the BrightScript library sources should be used +# to compile the app. +# ------------------------------------------------------------------------- +CHECK_OPTIONS = +ifneq (,$(wildcard $(BRIGHTSCRIPT_LIBS_DIR)/.)) +CHECK_OPTIONS += -lib $(BRIGHTSCRIPT_LIBS_DIR) +endif + +# ------------------------------------------------------------------------- +# check: run the desktop BrightScript compiler/check tool on the +# application. +# You can bypass checking on the application by setting +# APP_CHECK_DISABLED=true in the app's Makefile or in the environment. +# ------------------------------------------------------------------------- +.PHONY: check +check: $(APPNAME) +ifeq ($(APP_CHECK_DISABLED),true) +ifeq ($(IS_TEAMCITY_BUILD),true) + @echo "*** Warning: application check skipped ***" +endif +else +ifeq ($(wildcard $(BRIGHTSCRIPT_TOOL)),) + @echo "*** Note: application check not available ***" +else + @echo "*** Checking application ***" + rm -rf $(CHECK_TMP_DIR) + mkdir -p $(CHECK_TMP_DIR) + unzip -q $(APP_ZIP_FILE) -d $(CHECK_TMP_DIR) + $(BRIGHTSCRIPT_TOOL) check \ + $(CHECK_OPTIONS) \ + $(CHECK_TMP_DIR) + rm -rf $(CHECK_TMP_DIR) +endif +endif + +# ------------------------------------------------------------------------- +# check-strict: run the desktop BrightScript compiler/check tool on the +# application using strict mode. +# ------------------------------------------------------------------------- +.PHONY: check-strict +check-strict: $(APPNAME) + @echo "*** Checking application (strict) ***" + rm -rf $(CHECK_TMP_DIR) + mkdir -p $(CHECK_TMP_DIR) + unzip -q $(APP_ZIP_FILE) -d $(CHECK_TMP_DIR) + $(BRIGHTSCRIPT_TOOL) check -strict \ + $(CHECK_OPTIONS) \ + $(CHECK_TMP_DIR) + rm -rf $(CHECK_TMP_DIR) + +# ------------------------------------------------------------------------- +# GET_FRIENDLY_NAME_FROM_DD is used to extract the Roku device ID +# from the ECP device description XML response. +# ------------------------------------------------------------------------- +define GET_FRIENDLY_NAME_FROM_DD + cat $(DEV_SERVER_TMP_FILE) | \ + grep -o ".*" | \ + sed "s|||" | \ + sed "s|||" +endef + +# ------------------------------------------------------------------------- +# CHECK_ROKU_DEV_TARGET is used to check if ROKU_DEV_TARGET refers a +# Roku device on the network that has an enabled developer web server. +# If the target doesn't exist or doesn't have an enabled web server +# the connection should fail. +# ------------------------------------------------------------------------- +define CHECK_ROKU_DEV_TARGET + if [ -z "$(ROKU_DEV_TARGET)" ]; then \ + echo "ERROR: ROKU_DEV_TARGET is not set."; \ + exit 1; \ + fi + echo "Checking dev server at $(ROKU_DEV_TARGET)..." + + # first check if the device is on the network via a quick ping + ping $(QUICK_PING_ARGS) $(ROKU_DEV_TARGET) &> $(DEV_SERVER_TMP_FILE) || \ + ( \ + echo "ERROR: Device is not responding to ping."; \ + exit 1 \ + ) + + # second check ECP, to verify we are talking to a Roku + rm -f $(DEV_SERVER_TMP_FILE) + curl --connect-timeout 2 --silent --output $(DEV_SERVER_TMP_FILE) \ + http://$(ROKU_DEV_TARGET):8060 || \ + ( \ + echo "ERROR: Device is not responding to ECP...is it a Roku?"; \ + exit 1 \ + ) + + # echo the device friendly name to let us know what we are talking to + ROKU_DEV_NAME=`$(GET_FRIENDLY_NAME_FROM_DD)`; \ + echo "Device reports as \"$$ROKU_DEV_NAME\"." + + # third check dev web server. + # Note, it should return 401 Unauthorized since we aren't passing the password. + rm -f $(DEV_SERVER_TMP_FILE) + HTTP_STATUS=`curl --connect-timeout 2 --silent --output $(DEV_SERVER_TMP_FILE) \ + http://$(ROKU_DEV_TARGET)` || \ + ( \ + echo "ERROR: Device server is not responding...is the developer installer enabled?"; \ + exit 1 \ + ) + + echo "Dev server is ready." +endef + +# ------------------------------------------------------------------------- +# CHECK_DEVICE_HTTP_STATUS is used to that the last curl command +# to the dev web server returned HTTP 200 OK. +# ------------------------------------------------------------------------- +define CHECK_DEVICE_HTTP_STATUS + if [ "$$HTTP_STATUS" != "200" ]; then \ + echo "ERROR: Device returned HTTP $$HTTP_STATUS"; \ + exit 1; \ + fi +endef + +# ------------------------------------------------------------------------- +# GET_PLUGIN_PAGE_RESULT_STATUS is used to extract the status message +# (e.g. Success/Failed) from the dev server plugin_* web page response. +# (Note that the plugin_install web page has two fields, whereas the +# plugin_package web page just has one). +# ------------------------------------------------------------------------- +define GET_PLUGIN_PAGE_RESULT_STATUS + cat $(DEV_SERVER_TMP_FILE) | \ + grep -o ".*" | \ + sed "s|||" | \ + sed "s|||" +endef + +# ------------------------------------------------------------------------- +# GET_PLUGIN_PAGE_PACKAGE_LINK is used to extract the installed package +# URL from the dev server plugin_package web page response. +# ------------------------------------------------------------------------- +define GET_PLUGIN_PAGE_PACKAGE_LINK = + cat $(DEV_SERVER_TMP_FILE) | \ + grep -o "> creating destination directory $(PKGREL)" + @if [ ! -d $(PKGREL) ]; then \ + mkdir -p $(PKGREL); \ + fi + + @echo " >> setting directory permissions for $(PKGREL)" + @if [ ! -w $(PKGREL) ]; then \ + chmod 755 $(PKGREL); \ + fi + + @$(CHECK_ROKU_DEV_TARGET) + + @echo "Packaging $(APP_NAME)/$(APP_VERSION) to $(APP_PKG_FILE)" + + @if [ -z "$(APP_KEY_PASS)" ]; then \ + read -r -p "Password: " REPLY; \ + echo "$$REPLY" > $(APP_KEY_PASS_TMP); \ + else \ + echo "$(APP_KEY_PASS)" > $(APP_KEY_PASS_TMP); \ + fi + + @rm -f $(DEV_SERVER_TMP_FILE) + @PASSWD=`cat $(APP_KEY_PASS_TMP)`; \ + PKG_TIME=`expr \`date +%s\` \* 1000`; \ + HTTP_STATUS=`curl --user $(USERPASS) --digest --silent --show-error \ + -F "mysubmit=Package" -F "app_name=$(APP_NAME)/$(APP_VERSION)" \ + -F "passwd=$$PASSWD" -F "pkg_time=$$PKG_TIME" \ + --output $(DEV_SERVER_TMP_FILE) \ + --write-out "%{http_code}" \ + http://$(ROKU_DEV_TARGET)/plugin_package`; \ + $(CHECK_DEVICE_HTTP_STATUS) + + @MSG=`$(GET_PLUGIN_PAGE_RESULT_STATUS)`; \ + case "$$MSG" in \ + *Success*) \ + ;; \ + *) echo "Result: $$MSG"; \ + exit 1 \ + ;; \ + esac + + @PKG_LINK=`$(GET_PLUGIN_PAGE_PACKAGE_LINK)`; \ + HTTP_STATUS=`curl --user $(USERPASS) --digest --silent --show-error \ + --output $(APP_PKG_FILE) \ + --write-out "%{http_code}" \ + http://$(ROKU_DEV_TARGET)/pkgs/$$PKG_LINK`; \ + $(CHECK_DEVICE_HTTP_STATUS) + + @echo "*** Package $(APPNAME) complete ***" + +# ------------------------------------------------------------------------- +# app-pkg: use to create a pkg file from the application sources. +# Similar to the pkg target, but does not require a player to do the signing. +# Instead it requires the developer key file and signing password to be +# specified, which are then passed to the app-package desktop tool to create +# the package file. +# +# Usage: +# The application name should be specified via $APPNAME. +# The application version should be specified via $VERSION. +# The developer's key file (.pkg file) should be specified via $APP_KEY_FILE. +# The developer's signing password (from genkey) should be passed via +# $APP_KEY_PASS, or via stdin, otherwise the script will prompt for it. +# ------------------------------------------------------------------------- +.PHONY: app-pkg +app-pkg: $(APPNAME) check + @echo "*** Creating package ***" + + @echo " >> creating destination directory $(PKGREL)" + @mkdir -p $(PKGREL) && chmod 755 $(PKGREL) + + @if [ -z "$(APP_KEY_FILE)" ]; then \ + echo "ERROR: APP_KEY_FILE not defined"; \ + exit 1; \ + fi + @if [ ! -f "$(APP_KEY_FILE)" ]; then \ + echo "ERROR: key file not found: $(APP_KEY_FILE)"; \ + exit 1; \ + fi + + @if [ -z "$(APP_KEY_PASS)" ]; then \ + read -r -p "Password: " REPLY; \ + echo "$$REPLY" > $(APP_KEY_PASS_TMP); \ + else \ + echo "$(APP_KEY_PASS)" > $(APP_KEY_PASS_TMP); \ + fi + + @echo "Packaging $(APP_NAME)/$(APP_VERSION) to $(APP_PKG_FILE)" + + @if [ -z "$(APP_VERSION)" ]; then \ + echo "WARNING: VERSION is not set."; \ + fi + + @PASSWD=`cat $(APP_KEY_PASS_TMP)`; \ + $(APP_PACKAGE_TOOL) package $(APP_ZIP_FILE) \ + -n $(APP_NAME)/$(APP_VERSION) \ + -k $(APP_KEY_FILE) \ + -p "$$PASSWD" \ + -o $(APP_PKG_FILE) + + @rm $(APP_KEY_PASS_TMP) + + @echo "*** Package $(APPNAME) complete ***" + +# ------------------------------------------------------------------------- +# teamcity: used to build .zip and .pkg file on TeamCity. +# See app-pkg target for info on options for specifying the signing password. +# ------------------------------------------------------------------------- +.PHONY: teamcity +teamcity: app-pkg +ifeq ($(IS_TEAMCITY_BUILD),true) + @echo "Adding TeamCity artifacts..." + + sudo rm -f /tmp/artifacts + sudo mkdir -p /tmp/artifacts + + cp $(APP_ZIP_FILE) /tmp/artifacts/$(APP_NAME)-$(APP_VERSION).zip + @echo "##teamcity[publishArtifacts '/tmp/artifacts/$(APP_NAME)-$(APP_VERSION).zip']" + + cp $(APP_PKG_FILE) /tmp/artifacts/$(APP_NAME)-$(APP_VERSION).pkg + @echo "##teamcity[publishArtifacts '/tmp/artifacts/$(APP_NAME)-$(APP_VERSION).pkg']" + + @echo "TeamCity artifacts complete." +else + @echo "Not running on TeamCity, skipping artifacts." +endif + +########################################################################## + +# ------------------------------------------------------------------------- +# CHECK_NATIVE_TARGET is used to check if the Roku simulator is +# configured. +# ------------------------------------------------------------------------- +define CHECK_NATIVE_TARGET + if [ -z "$(ROKU_NATIVE_DEV)" ]; then \ + echo "ERROR: ROKU_NATIVE_DEV not defined"; \ + exit 1; \ + i + if [ ! -d "$(ROKU_NATIVE_DEV)" ]; then \ + echo "ERROR: native dev dir not found: $(ROKU_NATIVE_DEV)"; \ + exit 1; \ + fi + if [ ! -d "$(NATIVE_DIST_DIR)" ]; then \ + echo "ERROR: native build dir not found: $(NATIVE_DIST_DIR)"; \ + exit 1; \ + fi +endef + +# ------------------------------------------------------------------------- +# install-native: install the app as the dev channel on the Roku simulator. +# ------------------------------------------------------------------------- +.PHONY: install-native +install-native: $(APPNAME) check + @$(CHECK_NATIVE_TARGET) + @echo "Installing $(APPNAME) to native." + @if [ ! -d "$(NATIVE_DEV_REL)" ]; then \ + mkdir "$(NATIVE_DEV_REL)"; \ + fi + @echo "Source is $(APP_ZIP_FILE)" + @echo "Target is $(NATIVE_DEV_PKG)" + @cp $(APP_ZIP_FILE) $(NATIVE_DEV_PKG) + @$(NATIVE_TICKLER) + +# ------------------------------------------------------------------------- +# remove-native: uninstall the dev channel from the Roku simulator. +# ------------------------------------------------------------------------- +.PHONY: remove-native +remove-native: + @$(CHECK_NATIVE_TARGET) + @echo "Removing $(APPNAME) from native." + @rm $(NATIVE_DEV_PKG) + @$(NATIVE_TICKLER) + +########################################################################## + +# ------------------------------------------------------------------------- +# art-jpg-opt: compress any jpg files in the source tree. +# Used by the art-opt target. +# ------------------------------------------------------------------------- +APPS_JPG_ART=`\find . -name "*.jpg"` + +.PHONY: art-jpg-opt +art-jpg-opt: + p4 edit $(APPS_JPG_ART) + for i in $(APPS_JPG_ART); \ + do \ + TMPJ=`mktemp` || return 1; \ + echo "optimizing $$i"; \ + (jpegtran -copy none -optimize -outfile $$TMPJ $$i && mv -f $$TMPJ $$i &); \ + done + wait + p4 revert -a $(APPS_JPG_ART) + +# ------------------------------------------------------------------------- +# art-png-opt: compress any png files in the source tree. +# Used by the art-opt target. +# ------------------------------------------------------------------------- +APPS_PNG_ART=`\find . -name "*.png"` + +.PHONY: art-png-opt +art-png-opt: + p4 edit $(APPS_PNG_ART) + for i in $(APPS_PNG_ART); \ + do \ + (optipng -o7 $$i &); \ + done + wait + p4 revert -a $(APPS_PNG_ART) + +# ------------------------------------------------------------------------- +# art-opt: compress any png and jpg files in the source tree using +# lossless compression options. +# This assumes a Perforce client/workspace is configured. +# Modified files are opened for edit in the default changelist. +# ------------------------------------------------------------------------- +.PHONY: art-opt +art-opt: art-png-opt art-jpg-opt + +########################################################################## + +# ------------------------------------------------------------------------- +# tr: this target is used to update translation files for an application +# MAKE_TR_OPTIONS may be set to [-t] [-d] etc. in the external environment, +# if needed. +# ------------------------------------------------------------------------- +.PHONY: tr +tr: + p4 opened -c default + p4 edit locale/.../translations.xml + $(MAKE_TR_TOOL) $(MAKE_TR_OPTIONS) + rm locale/en_US/translations.xml + p4 revert -a locale/.../translations.xml + p4 opened -c default + +########################################################################## \ No newline at end of file diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..c21e496 --- /dev/null +++ b/src/Makefile @@ -0,0 +1,25 @@ +######################################################################### +# Simple makefile for packaging VideoCanvas test channel +# +# Makefile Usage: +# > make +# > make install +# > make remove +# +# Important Notes: +# To use the "install" and "remove" targets to install your +# application directly from the shell, you must do the following: +# +# 1) Make sure that you have the curl command line executable in your path +# 2) Set the variable ROKU_DEV_TARGET in your environment to the IP +# address of your Roku box. (e.g. export ROKU_DEV_TARGET=192.168.1.1. +# Set in your this variable in your shell startup (e.g. .bashrc) +########################################################################## +APPNAME = VahagnsTestChannel +VERSION = 1.0 + +ZIP_EXCLUDE= -x \*.pkg -x storeassets\* -x keys\* -x \*/.\* + +APPS_ROOT_DIR := $(shell git rev-parse --show-toplevel) + +include $(APPS_ROOT_DIR)/makefile/app.mk diff --git a/src/components/mainscene.xml b/src/components/mainscene.xml new file mode 100644 index 0000000..186c75f --- /dev/null +++ b/src/components/mainscene.xml @@ -0,0 +1,37 @@ + + + + + + + + diff --git a/src/images/channel-poster_fhd.png b/src/images/channel-poster_fhd.png new file mode 100644 index 0000000000000000000000000000000000000000..a100334c26ef730dcd90b06328de045ccb67a53b GIT binary patch literal 15427 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�&4>)LkV zY7nykU5&)8&~UST5gJ|?9s}`gd~)FkrP&4{5B`Xn*;^jA?dPY4^u|!?0mHFc?1xur z@uJ=iqE}FN^4Sv0?Qp$X(4oxBQA&tS?NC+y^=XbJ4f5?^Tr4UdCi9>~eQ|$MUA+Zf z1T_I05o*qyTn5&qU%y@%MZaLqNf7az`e8ykCBXG9?4TrQNt`lwY#!|__x|J8Dw|NE zs~dlQ|DPWO!&RLAU3I!f=BdVem;KDyvumRbH#YLHKYH%3OiwD|-FFu`KKH-*P}u)p zpB{_;|L3D_|M*}U?(=Z}`_IJv=YhY}w!{7;$K&d^pixy@c!T>`uZn`Ee3|UshyMd3 Ca*Oc* literal 0 HcmV?d00001 diff --git a/src/images/channel-poster_hd.png b/src/images/channel-poster_hd.png new file mode 100644 index 0000000000000000000000000000000000000000..c60faa507fcea5ca77b808dbbb046e97860340a8 GIT binary patch literal 8256 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

2qnzg4ahRbDnSKo8_3b zYPOI5C<{#=kBt792m5m~xMFFe{FV?&sxBUGViL-W^@*A~cg^UeZ&okgwg0zgg8$1? hM+etE>sWfari%0HrdRGB{DXte)X2)PM&B*|zW^^Qh~)qP literal 0 HcmV?d00001 diff --git a/src/images/splash-screen_fhd.jpg b/src/images/splash-screen_fhd.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2ea271f2fd0bd6c699e627df48b0f0b732e6d0a0 GIT binary patch literal 57034 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 L9|&yw-1q+gD;S>v literal 0 HcmV?d00001 diff --git a/src/images/splash-screen_hd.jpg b/src/images/splash-screen_hd.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dabb190a6b15a67fb42e4e70a311451f046399cb GIT binary patch literal 33546 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 B0}KEF literal 0 HcmV?d00001 diff --git a/src/images/splash-screen_sd.jpg b/src/images/splash-screen_sd.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6749d1388a60620839357a7c062deb7db4b7ca9b GIT binary patch literal 18990 zcmeHtcU05a*60rqa70vufHYwMLFpX>Qf8!zfDuCINH3vCLhtCP6aj$&q$8j}5`m7w4Am-uvA*Z@&B9UvJG>$y)ojPu=_McFsO$Lub>#H8o!+djQbV z5(Lfz|5eUb0R~ks8@L}p0h}YF?*PErG*zslr{`mNF)=r!sFkg|wVkMqyQ`S5)nhRU zQE@Tgj|I;<;n1Ov=|TfZ%sVmiabAkpOxE4=K=R! zcZ40cjHs-Ljkv5Fw;WhhLPkzbT27c-Qd~ktOk7G#N?b%zN?uxAURsj-uZ4#^8^YFJ z{-LV+U*{r!Df0Z4C?6jmQ6DK$cZ7qO1Q-k!6PFZ|loTPi5JCF6d0P33xFLD}HiD`h z(gxx5*we|~jr;qER@Uxbo{Bu=mHveU*T*_Ke;@eYa?92AJ6*rEMtVN9`>$pE+tx?} zzsGiB5ABfdUI-gIa&z9lbtd!f_b2+^kh~gsJ%kf^Q>F?L?mYuYJ{ix3BzNgq@YA zJHo)--Q{mm@W9dC(;eyP{+Rpj-QRYd`=*YSjg#AVtHc}XcNu%wlg9GQz?Nf8MNx!WRE)>5}cZi~y1E9|Z9?d-ukV&o-?eHWg8 z5T?JO$P)S;{JUz9KmM*I|tX_3k5ALE&WCM zYgevZV*@dO*#2JeM}f0CfZ;sF6y+Bx3I>3Zfr5&G;;aEkB-;_H?>~ya+ZYKru#&5u`UC4M>&v10V#k^K1~qMYf2 zm)y0mH$B$zya|23f}pa7aiyQ0mHi3)$$>vP@FxfUohH{|jC`ISEk5RbQ|{P= zW`+O_>K&n8MXbAUp6ei~d9mZ$)aCyH$kjl&w1pby8QYOKX|L=X!W1mycCPNSXHHQ(WJ zuREBXybye@y?MoJy_#vOGW(E|Umr-uEQ}1VmAp=4NG~`_wwl5CFyqlf2VrxT>G)tq^-Zh3&Dc2;v+&=>}n3Ar)glE00DL_x=P<%cEe5*{qL1MpE ztGu$p@lSL%lueg;AtZ3a@|d2^_Kix=NYE>JZh(S*IrjeJ>SK4pv!)7;mp2!_BF?80 zSfL6mcpD#^(UY5zG;H0EwtYD|Ym^>>o}92U-}-7P=q)G~V3uxzUuw7<`k&GBPrWD} z?b0rVxSj#ga;>veh){s~hneI3yRCK%?IMUP;vDoj)x!WZ0MU2FjW=1XmhFbEFLTdL2s#o?JM~BBQop zJHelzKQE#qiKeEpJpfATL$j;K32hS-OOxpC4y*V)2Y zfpgt&GbF3~g^3ubb}1yj$nL|^4R~f`1TXKLs(VNYW%p5*o7fCnR$TIW=)VQSO!may zvYJPK^f&;ENC~*}GTJ?zSw(swXFYZ7V`fmrj-1bTU$9&JV1q~UT6cOSDeO!9nv1>n z0o%juOYF+LmA}h&Dq|C?zVCdF#nZLA+DC$4w(n~Sm^Tw!05!k3H}9;))B}ddz=vin zu_Ls6|0L%B_JjKA7p}J_xKrs#fmifx0Kg;=wK0B?tLxGM3k5m)CQT#u-w*ryIg1&s zLsF8s{R0ZdVsrxA-$jN7znDRY&u$r%J$U?lmBBb_qOBnyxG(f5l!9@2fagxFj+}@9 zF3p5dhb?3o=AIvW?2&zq>C*Gb(ZlFZNhRU+#Gq=Dc{`Kvu^Xa<23y!@R&#~kqqpSJ zDBP*>lE&?p9rkC^J_@6qCe_uR&*cP)5n?z5d{#Zo{W~2TMXgwG(tJ}bdqytk$bHqe zaOHKCQzv_$hQwqbQH_d!FQNWa-<~feT_~?*t;j2`Ewvj4or+(~tjyHN@vriErUKB1 zP2XMo?4G_F$f06Z2T+7o74D`~5xlE6HzoJ#zoDqYW z__nAsfOae&w@+x1xoa|jW$RaU<`0kf#Bk*@H}KVMZT!iIkq|4Ue~DU?Q5}1`l`m@5 zCYmt3zOGkR0~E_&?jIXC13K4Nqc<9Qi$54gXA_C9R5xD2n@1H#1Qe=IR8=Xb0N|qK zjL#C{3^;VIr3{5~1NgunPfzAf;XZ9YQW=E;G}c>UuTQjz_}rA;;N(3QP|=Z?*P^JB zu4Q=}?YoSE-kJx~mfE~Hm(J8ov(dHQBKtf)U!#_TZa#0J_6yjDwtX77CrD>%z5c)^ z$y1YOcg)TJ_S~n16W2Z)PNq>;}+jD zWExbQ@iN(C!dgMV{mJ%z9z)4Thma}@B~_Ku(BD?8obo2pG3#Q7%d0k`Z5*DV6KR$z zWES-a^5CND;Aw0~PC0$MHLuSRoNrGvZFI|N5GH(qFsJ_#K1)=wxHNIE}npp zfYql4*djQjNL4+@F+81t0oVpE$*zwNiR3>iP3<(&yj7RVBf!cR7xdBtH>x<^N`gH{ z(eN$5Fp#P~1LScff}di;%*MRIXw2g#{K|TsPleB}W2jm1CFSaILb388CM=KaT38M; zj?8LLO-kyrL7IS=<@u0WzmU}N?QoR=vVZ;cj>YNmG{Hsh*L&1get!r5Qv3V+NZGr{ zr7g0-Nu>FCOfb!dQOLehC}BW{7sS!Fwr|#+Q`<5L1x7*v3jKrE;~rM>PWDeN-;T{j z=Tqt9dUEm-s`UhT{a};apcl_XvzlMEk50(t%$K~hjIx2WqC}E$#(ZbMXmm@&g3oJu zT>!YERI+Ev*|$pNf@X(HAX8qq30Co@_wV&;0k31cSinJpqU&@R z|6Czk+%%eYH6+%|ArO571A{d+sw04w-FMB!dwCSL38q=G*uB>foQgpR zT$^>Dlvs>WQC8mZjr!=)IHoi2ukb5>kl*NdH+v#FKaoZE0!{hmn_VlpE^nnv+@g;F zpw8Uj=>E8+g86|@nA7g%Y`0E%!pb<5_|Y4s71OMlD)LtMmT*DsW?;nH$wnFd!vSoO zI+mfx*>NEMoT|#5P^#!^oHrdgB(*O$yn5j=+3GZIEBlx^s0O>o~_7;m@2?)QMH_{ ze{1@3;7YT^%f3mYZ(pt!6;89TSkw!<1=g2Hpiw>V8lT1VRrZ0+_SB9Cuz^#SMuAFV z^f6D_Bhj4lptN>+-?X-Y{9P0YRRW?~1!#+js68QV=Z>Q1A1-<(=AyWzE*jGvDH3qmz}0o|Gm6~UQ0l6KIn4)wme>i zrct6sdJN4MW1dA#5SBFp975E?&xr$UuuskV0XSkaSt4FZhXa818NgVpoqPtgLl2lJ z3jykt>C5{YVmqb;$a%H~0FZnUH8~k5*BP-Lp_21Q#O1$5-@kP_M5LIx@&7V>G2``8 zPw|8w=Kib=Tc(%g2O6!F7nZ{Apad!$aj&AC^I*vwZTGRr9AcJH6akWf2f(lssuyBG z5Yf3?eHQIf%@@vqbw&0Q?%-%_kqsnT6>bt9t-AV~I!%qqjmOm4meG?8mb6cFmMw3OwfD0-gDDujUvIKu06=R0C7W>Y z*yv!QVjv5D7)z(L=G*}j74DxR3o=2MbeG4kMVEx((%aigA@3%fK!qI(U?^LY1b!Wv z$N)5$LzZKZAq&iFL?ekWf;i3?=j9fo|1$b_0f6e>!R^xx@1u`rz}+D^V1fcWVc(kF@?zCB zq}}~VGR10^vuac$000UJzmz&UQT-EN6G5$g1~ecD)ez%bEIepAl$l#F&@-y?-rS%9 zfs5gZ#cCQniv=|x5O7Rddp(17V{eVm~N+kpa z6{KeRe4fwW2|Jtu0G8xmOuB>5fVSbjEf4D~wvtILYmnZDMk*5kpr)HSs%I~MpGXV} zOaa9)c5+-+J5Z%6{MT)`thOw@(U+PyWNiO7Nf`NwhxauJENxiHf@Qjh95@X(8)h+2 zYQU1bvB^ixTgYX__RqIqc*67R@x3v89k$-G<*op@OxpT*wAkN`6tE ztf}pEJ5=R{lU;7xb+M43%}H5-wi}dW{rNwa-wVlKix0nyVG)7}MW+xq9>$f!Qt$=y zC8KJq1{=D7+eGpn9VdbGHn7pnXbrbzEEryek!8!QBmy~TQPg49ual}%()6u>9P1de>-n4%@No`vbqZ(IB z3@)H`0jO2Uj*-anBq!`}r=PxDbZ8>wB~!FvMPhOVeZUlA=kvyj`g{SyCg5Ch{@B_i z4KDKWorB<)1%rl+%UesC8O)ZE*uiL zI3#n-ZS>E<7t?y@%3CM-7a79}@#;TGvnoJ0af9lmt1ew|q4u#@)v4wHx5mAR7Ex{h z*tLA4{o_4sZ==%gbKx;IL$f_5vkxS?O^<%`u^IO^y*fBNGGKX7$pTYCkJa!b z26cZ739;TS>+rlPGd@zftzLK% zdg~QnsdNS1wYHS{KCbdnEc@c5XjEHl;1-$uZ5L*}Iiyol!6<<2O`=UG+!Gv=BTWC{6)~ zWxj3T`(EkZKQj-#b(6bmO}hnuz1ss(`8;mCgkO7BHQ%JwDJmOe-)L%Zx=n4-XfWN? zO*Z;-s|J)in`s2z%CPDW!mVUIY{Cx|$iSk|_cxkk2-{F%&;iQ<06-@A{FU922C<%x z9vPP#@b3Bus;3efy_X9xs-%Y+sLeIR<26+kNz>GMu*s}pB|0~iY!MWG{Q;)y?~yfW zd{FvvD1D?8A#%J-G(tC^8@nv_#jx(qC23HV@qiHOm^!OlR;8s!g3>%L;&Qd>`DKXx z%J#-!y?;X|S2&{PNa|r--|4@``BC}$au4&}SKwKfHpMK$ypF$SF^`y5b)NxJzZhXK=#vek zRYv>Taq1q)JZc61$}#l!q^|j|QU_!DP3rOx9>`_{{9>OZcKu6X-Iwc^w_TzT zZWpbqHAeG6&vETrPSB|BP#JLm&_Ct%H-0r?bRp%Autk>43)qsew1%FA4rtX4U*e4A z=--&hK!w`Uy*}P`sVW-jC6+bzY~F8H-?ikywnUz*w)G4MUO$GEb44fN1qA)?CstIk zt-AZ?rf1>G(wj z6$Ajz$)Qeezp0hY8>;lPZn=vYs&>vA*NylD(vRgmiRxP=$xt*wEYnwEzH z6<=uBW6~K~B8!p)mPQ6~21G>zD&*?;_>1vT?{_|o0*Y{vy)9J!orePDk*d1Q62Z%l zA1FKmD6VyRHs=qIMg<6k<~x5)h7B3@lqm+5Ai>ZxV1No2QEx52o2J2d?*h|sBX&i7 z=yfC>-PW&449pH9o3ivkJuf$Ym6M2PDV)Noq6lxXQfDzKI8VO+re~%r`$V?=V_DjN z4(lkF^Ly==4@WlYYtFxCLuQ)?9}G5DB(0Z|m1~+=NJQ`q@EaQvKpY3pD+VQ#Z4*5c z09=pSy=8k#Pkr}dxo$f%cq)#eBY=Z^sEwqNTM1EhTMZ~~n@K%ZFlpb7Q6qMv_QlS> zwM4FSO%Bxr{4CL{IMtck&!KDYfarCJqTX9Ss99Q^nA=YuI|ClkFE^L2l5dWX9N|R> z(SibeWF+k?0C0@TS!z`H&26#XZQR%(u+KLfs%De7<`0zj{#3iQ6=y(G+Uzz(r3yg# z%U00wo2Q4LCMl;Rvw=I!yk7%squZKGAsqoQH8tIv1qC$yi(=4Wg6w3Y1c*t)1gdU|QQQpU7r% zxaVJzzC^NfF&r4+Z_BauDE5wyV;n6F!bGq83_Xy2-Z7~F_nl$=^^>V2A;Xmbt)qMQ9f?y$YRRtlj?=8F+_RXQW{hgCJsl})L_X%NbQ$U4dr};=l8Wz6s7@}$fAgi_Ut%$N zA8-_Jn2;3nH7s?cS#Z-|z~#N*7V=Kv$ix{S`0UmH+(_Iw;T^kORNZeT3KtRl6qC;v zQz~S#fQEd*N30k{&h2&SHc;sY*;OeYTUho8pSsWvnC6}V*twId-Sc(-fWMH|0E3d0 zc1J%}nfkA+8KFJwQ;MG(eXwqrU%^B>i-9PglH>6Cwh30(HZfI35y$R z`KJ-?J1RU#hvzCEe&tQSh@M5=-1C zDnY;(1);`zNZi20ZJbb_s#%P(uHp!R7Ui^HSljQ&Jb$^!T%=P1t?$tvv2q4n7$w|1 z2~5?ETOr9%>M>8(-S6^6Ky9r_;Dn~xQ-jA`%y)xaFi6n;&d^ay){g7X#N+eDM3s_# zxrp_Y86(oy`7Al78g@>jv6e%^k#Sr^en!F6O^Y`N&n6WJU?(*mtM}W^gAWVl7UIz3 z(%(49S5*Q+Fg$>+1E|z?sW7Hg4y#TQ;FXOczrlAIye^FQGNV_c*=l-9TSthLZAa~% zA*7nx9OG|8moYevGXUOxbR(-X^dIo7yuou$cKd`7p`TW62o2N83TYM@qH~jAV07E8 znhqqOZi?)Uq80}u?tNT!SXSJ*6BC1GxM>#`o3h+66?gxo1{kV{J_C~5s1x^+7SDh+ zzYx{(!}naqZn39>$-COhX%zp6R|pWqyiBk5S=!bsS);i~BM|I3UpU%bUI2^m@!ndayPR(!AZIcDT-ZDKMz;;GstW@D zE$OTC<7vU1yzoqot>Y;%SNsg`TktzMGu(3P_^2g!W0*cMVeszBdw$P-@BXTOuRBCK z5sT)#_N&+owotItM0`-n@xNB~Q6cx!?m>kR> z*^=E8$j_?pXzGEY>edasoGJp+cm|wa;!!mu2yVcP$lJtsBm-e-Y0y*3Hh2`UXe(w@ zT<`yKqX<#nt0}BH2OlDlgv>&nMbi)7jgrKdECcZUW!N6}trn}mIAcAZ)~jHfkSZN; zKwnFkp>M=wwT<8UOV<;;-2iGZ=heM^4ZeHv{tmS|d~m2Q7(o4IPQIIz|DVdaD$)2o zHWw)*WD29ee6-|I(PJ}b1j~psRz~86+Jojybk8`;oAF z@hE2^Q9)%eAa!4-0`KeM@U{8t^!vRSmUi=0a7!vmK!|hfoX^RZMXogt7+J>8fGgKW zNdDB-SzDS36u}MY>{rWbkf@T6^Xl3qcuG)h%`MlJFWT-7x~t~1YDkZr%3h-XaT0#4 zR~wHSV0H`S}I zm`A7%&qD)0>`leO2M6W(NSzi9BqcSv-Wlq?TVnE zu}dgeocW!ljWjNdUVZpuRNjEit6mc3+Wp?x7RW@pI6hnpL$e9p}nqC@=>-+ z=b&Sa_2#$(mj=&cWB@}4!g&z4k%|fp8l|(f^(mgVr)765((Y|K{LwTv?qx`>u7d=c z{f32`x%u!=B&|cCBHMU|Qi*z(y-5;$GT>{BiC*HG%~1F{>_~H_$1D;xF0=Z8I~4ff z4SS)pS52C8Iib6K^q~lSLM5uDaKo^4xy#LHIuQ&tsq&!w*!IONSa+N{Q%LBcLtTXs zI)f>SJrT7??6e_YOH&)DC}mVvAdeFSu1nFXo9^e$#HnUPZy?92WTN#v=Ts>d>JL=M zE4W=!%sS<-f@O9kB(+7|Q`!&Stt<@r6tp0 z_a}0_pH(_dJh?Y8g(&mikum1w$S9bvR#T(;LNoXIghKxeXdFHR+^OgR%I;wcPXFjC zAq_8hb9i%G_~Jr~P;S5oe)UY6{Rmp#%#LAZ`=>U3kI8)D+@9obE^b>6jn zh$>{$x)Z?;UG7KZLd=_09|&apv?#hc^pUA^Zrx^~puDX1hL%8J`ZjMOi`I`3RsNGV zuX|s9adJ}Qtnn)H=9X`veyUJ1v~xFlyOABzjqn3O*zj%V<_DjS9m97F#-KM!^Uu#c z(M&0+g}=324SVPwle)o~;PifBvFe&F^xnRWrIv-cVnal|CEhz`hk^w-cl>DgZt#YY zsXG_+*DW`5_V_9^lWre5OTwEafErj@plmtHw8zuR9mV7F`;Kd)v|3AQ7Y2{H4Uf-& z9EBa*h7~_H3@%Eo2Vp?8dselnrx_U?7>rKKPd|U2Q>O&ywyyI@gIaA%!~I9WyL1aM zS!u+(s!Ef=YF*CG2RFvm7lT)auB8s&@2p}L8hM{+;|k^v=vi)7hLY)*?unY9-RnF3 z#l3UI7`Ob>b>*w%Thwh9XoqdYF`vO%OQ7Lt7iR52#eSBy`+dfy6uT-J~ z4%yb?5{)5yrC(_k>{dC6HQPcO?!8{gP2m*+h}<6|&_iXK>pu*CQh-%5(fOA=J?T1N z7%1O;lcg)s%u$AAY3(3Hhm@UjM;=%$+q1C@<%0tIFU}Ndtt`bco&om^qGA0Gl3@nM zMfODzLM9QLMiFhTR*9%)a(po;Ga@MHSGO1X2P_a}PEB-!p{a31e2lq1| zBY7&cog1L|SfjkK(7BsWFOn>@Y5-qsnfr=@`Ijl50kE6bHiBn(>fHlLf=qKyGLFUT z`q!h&DtS-4LY+1)n@cvXDdu%fr`WJ3x4=xb?~L#m*$BGjWsqMhM$4{lfMHzYsY96mqSVsYXXJFlmw z+h-J6v@x4lq=B8#?cbqzvmZP@YHq!hC+CR3?0jCi4R=%3`tkiZq(?Cz&SFx7$J=M0 zCoIPM)ZqqpUr`uCZ?rLksZfg;Q}opB*{bfCB^FcJ?J57DU4Z8;6_rp_SSY#C%04AI+-19Tq;eYRgGPZeP|jwJ*PX?jYfwu&=c7XL4z~eg(+zp$y@<@BIgiC z7rfXS4cvY1lsMzp`*5XqT4;UV5d`E66@;jDCY4w2OLwVjI~ffO6-QS2s~YtX;tEG* z5rT&-AL+OnvUEz1UpUqJT7Pw(^MLU6b}~n8MVc2A$*D=K-^d0MaE$G^2=NvLX0k1AC7zN&IebPEK zI{NeNd_1%rG?v%e&4G}6n)@sx1_^soIVLlm69$28u@0Os;#==JvK@roz2QuV)^E+V zcFrF%p!&(vz4-Ndw(Na=iw~aVYtd$l>`nNB9!3AASRw?Xm;i#k;Dp75Y5PVk$(U!Q zzL0tz)$<6^h481zFDkKPOzFY3G~)&(6h0WNs!~$*iRDEX?sO^7LBcBKl7>eQzjK zCmy6K`HW;zrO=I{5Z*ik`p(M{Rst*eh29(eV!NL*l%P3hsYY26H-;+S;m??|P;_1S zMS=3R_xgCr#gyisi9Ma))NXtBDmUU($%%?0cWVLAbk0qO*_8#@!^x)Fex%T0WhL`% zMV7+F6E6O&NA!$6N@at~B6LP~)_jfAOD+_JL#jTxRpV_YUi!$UB6$??>0Y`VSEL5b z#CQuZcyZTF}E+H8XJ2%;>3eqUw?U{k@ zJmD?%JznzPm0wyi=8%*r^^XbYOWW|GtXbxYD8g5WD$`;Y%SEiSW^A+4dh{cVSAsYK z!_fkwss7{avrwu#UIGP&(Pu!~Q?bMniw}D%vUwgv4Qys~nUX4WH#W`>n;1|>3{rR- zJH&bEg@{R+j+BI3ry1N=-YM^C-{OMPSgMr8tcp~yUW1%riAB)61x}sFIinTBNPg9Z z{hN`4;E|whRG8Rsu+YBw54lghps^C#rKCsjM;|7YqUWBS<_iTq5H#PYMzB|V&dO15 zn92-;Q?7bw&Nw5Q*#ZW51hPI{y7mVwEFf%oS^0i|&*bnSU!9qfxU#o5`9aHY@cD~n z0Kl$auP*6qexq5**05+8V{8M%#r2}uYVCOYFMg^CqM2G@e#oz2a(MCUO6g(^D7Jht zu5~&8imaHvECK#__0IG0Ivr{Sm@x-^yjK8^%S{p{`kSe(r8zqkpE2d&juLxt1~^+Q z3pt#o(-K(VtMwnVm4173ona)}w8+H&{ArZ>> z4eWJ%N#!O1=Q6pQ1u6U0IyU|pE->JFc&fmg_o#Kl!`G+wL7@T!MsJ_yeYLe7Yeo1B z&n}3g@RQ4snucINOJ!WpHpTV$UMBEfE+Qf&Gw z>!rKskNh3siz`)dd9kYJv{f?4m**Zx$C_8UR_&9xSff6h6&hmwChccT12GE-sd!OK z4UVd%t`n~viu*wj{};#l42P!5yHiR9_`4^C;opj~jvh;UcZ{-fgy=cCW_%Jh#C+1} z7tx}u?2#AYWM@E;O4|>L4a`kws7mRwGd0aubC9n$py+J&D7sy0y)%Ht;iTrGG|h6V z-mbeE=Z$l_NNe%HFM=W6u0fEM<(8T@8fIkrf>1hY0qliLjzkq)2bS0Fucgz>HQA#T zjYa4rx=}vZVqNc&lujagp33$hysJ^{%>x0QIh$M%(Ub+1)mR9Th7;xw)B~Qf?YN*~ptb zlX5{U;OqJ>c7kX_sJGZX=Jx#d=g3grX$$q_cbZC@?F$*dHs&Ij^OBfbMKZnXi(i$Fs1%}k z)o~v#as8vnoy&iF%85Jen!MflNmiTf2+OgHWs)?45pMB%x;gW{fkT753sGTTwnCyK zb>2R0MFq=Z_YL6$QiEtf!XZ4H$x=-zv7-5KAVe|@b#zj_x)zf%E8G`njSuQ*CMKeD zuzf3CvlerjuTNOoXs!b^<%Ja-VxTN8FW%Eos&wtU<7^DnmeDXbM?SZuC&c- zJif4mlWMpo@Yd?shq946(_~s}HCUi!@>h_Tg%UQ#5TAOOmE*(Bl)1lo*l&)$n9K=H zF>}!@4yw9PhLBO1yqat47BNylRNW3EXJG$8p^lnfSc-K!K33*?P4}XScD;-IvRXmx z6Gf5=h2&DmePr6cGN+&iLD)rCt<}~qgymuoDjfaE77@UF2B@QGu*(+fjh=(~mrQOB z@ki2p-Gu7ndUL_N<_e>X`WX}Xi7E|7W50YTOGJq5Z4YEB{D2}=$>koDphDeZ-k5aE zRapfHlox9=|7;RB*)&v4z;ERXw+)b%OQH-^w+mP=pR6q7wiGAp^*&PlD=70Fdk!Y? zy3HP;Z@Zmji8y(tmf3+uj}n43DnPtM3 zX9((x*d*u}EUBQIw1DY?U-JtBCCd?t64i51``g;>`Gg02qgSJKlXi7*2!?H=BIu#; zFYpz!WBnW<9!tVZ3!&~>`>puOUt3LD&ExDUy&Z;1d5)d<$d44hq0Y6xsa!r#LOl{4 zMo88q$YY8v&S$Yjf02O(#BuQmhUMMSoRur)b<*#0efca>B-bY4#+Fx~k-aMX`YGL~ zG8y)hM^dokL8ALiK<)Fa$F%rd?CyZzCbbL4E=2&x9EGWOasTQKCHT6t~C zDqGHQFzMaNVy6*15070bow^U{2;2*LqE{D(%C^2(A$ZCw0B3#m?2CE6(3?`aY7>$u z`3+@{${`THJLzOPo;C=2R@{i>&nT(b)xB84mix~C=%w!Upeyvy8Mp_m(X(Ps0DN`8 z+Q=E^;Gb)ept*J@yk+eF>!>wkeuvus z38h$&v0SQnB;X(RB9tQJKx2fIKjx>?K@xoU*4*jmy;aYh$`S<6$ye6qNp3FXsPtK8 zT#Nt%V_a90zGuSHn(c=ZKUjAwyE#cE^FX`%CwCjmdZa*8X|g#_dF_{BXCcl57k>)l zy?|gZ2d6zcu_(8xYHES|E4Sx!<5;(hiI!|qFPQ9WGSMo}&j5Uo;i*9Nfzv(^@*U*= z4V-fmedBK4sw;0i*7)+7W}a5=a|a$QpE?>c!Xt1UhN2)Y=J!?%k*`_1=O2i5v$$FA zGT*4$G(&^*yAtP*vu(*4=A^Y4j2ELzE^By~aZF7h`$HJtCXe6MTXAdddk~;EgMOtk zdJo~k?40MdBmTL9r_|Emx#Lg~yvJw`QM%L-HBwL$AWfOHCH6rg09lZkz{&_Gwi~(* z!mJUc3Bs{4x`z4IVB^kZRG5C~AJFuFJX+CUmS1RlnE%||`!=ppQ5KTeCqe9qEQZM? zt1W0yn4LWE4q5AXvHjB-FhvWao7Q{x!NFzlEk1G1a$O*$w1I&7xn=U?y+T?RDoAuG zQ((_drno{Vr{W^B%(W8o?eQ|=XlT#Uwq&n;_JO1W#6S9@+=SQg{qmkT^~g498|dx> zRdk7v*BX@6Wg)ce7|!rW+VVwkrOnodoZ-=&&#)r)L zG`+2*88#>07<4D1dofPYf?HQEm^LRva%m33teYz;LfVln9~-n4>FPJI4c}EYIt2MD zGO$g^^P_W~tNI95`avL7NBvMDMA7`pWx&bDeq6s%Q^ zGG{Hl*l@8`YLxUdll~a#(rWqg-JrySQ#FQ==~C!>iJ+aHu2U4n>pC8kprB}EI^+R; zKo6mO%BP7s&D4{?*DWk$=!jWb+-5-gK}}1j<2p$$8*93pVI1QV4CroeZ3URwZl#S2-dqTR>7*Bt3W zvdtasTk!ns(hCZ%lX2IV*diC884&g*NMWPVtg1$i$27{1Nvw!$GEO4;k6z8ghh11^ zqm@L`axjVUrHYaF`Ynth3LkT;v3;SSK#R+gQFd2dJ1L=qQNz#`{>&{~)zdG`#p5GE zvWo*_rNMBKFk2mwIT1nmhUN5!H%Iyhbpoz6?0KzGiF$>gk4OiSU zIk9NiFhoN<$!~IC?6~^%`eiD8XWM>(SwH#JK_n0<|kJel6i#VyV5#tX&OhGrWd=X$S-zH&JzgvH!8yhfCG?U-?}G(i|{ ztEyJ>VQJZ@sN%kc^Kd9LeG2xGNl56Os1@ zvz7P7DblFth-N0y3JNZj*o+i*5VsE#Rfv8k*uG$_tN*^xh!)pXu|@=lc(v1^QpWRP z=|n!W0#R*)GPiu{3_!}ZRa6B3nuwj|i)-gd4QM+0&S09)n}=l;BJOmWDWHMi+1U zkQP(JzUE}z8@2hiqMV{a_+}A2W3A-r-a1buK(UHR9Jl8yTaYZn7fO9~2Cvx@Dou!n zIVb^Z=TMgmc1=nbguxJt=(@a1yM z`we2i6AUpi$ay4EGc#h=LhoMGa+u9-LXK}{Y9LZEv9)YK>x(?t6?~PAI7PgE0$Q1D zOT~{oUSI2%DlyyNGheC2*xnSZX3^#EeZ!NJpBEzlZs(60?%J=^@5}~m{sB7)DAgF6 z3WT?)#Wk74XDrGXxqP0peL3%p^)t&z#kPfNo&n?Q1tCncwVDa*p=W?k)thhn@h3cb zRkX?iwfkKU<<#QF!0ZpIhwq9MW{_DAF>fb@l9OY=4@x7;xm0Yz&;X3@ zJ#L~=P%(mZ<nh7@mi#Y}7~cE3Ac4;e$y(_a|)(C5>0Yj9qm1 zwRn@;7Anc9Y!yHu%^}cjykskO_w=EQPt&22_$w5Ta?eUTN>Ge^AGhUzJWM~mcR$m5 zEV-mD+9m0RxmiI|u1Wgs$Es9Q00jsFfp{9MKHwix!g}fbV2)jM6H*FGXXX4QrdNis zQb~N+Q%{m&wSBJ{b?9hLjc>LqRg^};Wd%_M_>n)JRjx0+%MnCPs0tnhR5i0guJK z0nO>ShjLKJRs9JVs0*5*ei zU%m=k&tlbWxfGb{4mTHYRW~Jw&s8tegPihyNv}LpzF3)cd+-cceRUCCv7fmzDkbl7 z$*>9B{gv0sKhJ%C>o0Q|*8Jr4gc$M@|4balpvRmEloK-D%xF%k3!7}QY%z_WJC+>9 z3GQfH`&4Oh5MbaoRJK1rv2RsgiMi2G9gbI0>ht9z=6UM&wV;SP`W@N2JX@CsZob*o z8Phdf%9mO(2&nzx3pzB)&3v!MM=G^)6`%g}T204uSV@lap(&$hG)uoD2e;BoZ}n5z zUAe6tLea?j!jlGFLwt-b3FUp0^FHZtg8j({FQi|TA6t)dZ!;*xoY!Pm&0Uf=8K)sg zQ4i4e+~s}MY+_dvROmDkJ7iSCn-fRK9V#d|HF$CkOuIz<