From d13ae66353202296f33d44d96ab51e89a32c0833 Mon Sep 17 00:00:00 2001 From: Philipp Schaefer Date: Thu, 7 Mar 2013 12:18:40 +0100 Subject: [PATCH 1/6] added new iitc mobile project --- mobile/.gitignore | 9 ++ mobile/AndroidManifest.xml | 31 ++++ mobile/IngressIntelTC/.classpath | 8 - mobile/IngressIntelTC/.project | 33 ---- mobile/IngressIntelTC/AndroidManifest.xml | 35 ---- .../assets/js/ingressSplash.html | 90 ----------- .../gen/com/jakbox/ingressTC/BuildConfig.java | 6 - .../gen/com/jakbox/ingressTC/R.java | 27 ---- mobile/IngressIntelTC/proguard.cfg | 40 ----- .../res/drawable-hdpi/ic_launcher.png | Bin 49093 -> 0 bytes .../res/drawable-ldpi/ic_launcher.png | Bin 9443 -> 0 bytes .../res/drawable-mdpi/ic_launcher.png | Bin 21770 -> 0 bytes mobile/IngressIntelTC/res/layout/main.xml | 10 -- mobile/IngressIntelTC/res/raw/loader.js | 13 -- mobile/IngressIntelTC/res/values/strings.xml | 17 -- .../com/jakbox/ingressTC/MainActivity.java | 149 ------------------ mobile/README.md | 13 +- mobile/apk_version | 1 - mobile/bootstrap.js | 59 ------- mobile/build.xml | 92 +++++++++++ mobile/lint.xml | 6 + .../{IngressIntelTC => }/project.properties | 7 +- mobile/release/IITCMobile.apk | Bin 0 -> 46014 bytes mobile/res/drawable-hdpi/ingress_iitc.png | Bin 0 -> 6950 bytes mobile/res/drawable-mdpi/ingress_iitc.png | Bin 0 -> 3701 bytes mobile/res/drawable-xhdpi/ingress_iitc.png | Bin 0 -> 10795 bytes mobile/res/drawable-xxhdpi/ingress_iitc.png | Bin 0 -> 21093 bytes mobile/res/layout/activity_main.xml | 6 + mobile/res/menu/main.xml | 7 + mobile/res/values-sw600dp/dimens.xml | 8 + mobile/res/values-sw720dp-land/dimens.xml | 9 ++ mobile/res/values-v11/styles.xml | 11 ++ mobile/res/values-v14/styles.xml | 12 ++ mobile/res/values/dimens.xml | 7 + mobile/res/values/strings.xml | 8 + mobile/res/values/styles.xml | 20 +++ .../com/cradle/iitc_mobile/IITC_Mobile.java | 92 +++++++++++ .../com/cradle/iitc_mobile/IITC_WebView.java | 46 ++++++ .../iitc_mobile/IITC_WebViewClient.java | 37 +++++ 39 files changed, 416 insertions(+), 493 deletions(-) create mode 100644 mobile/.gitignore create mode 100644 mobile/AndroidManifest.xml delete mode 100644 mobile/IngressIntelTC/.classpath delete mode 100644 mobile/IngressIntelTC/.project delete mode 100644 mobile/IngressIntelTC/AndroidManifest.xml delete mode 100644 mobile/IngressIntelTC/assets/js/ingressSplash.html delete mode 100644 mobile/IngressIntelTC/gen/com/jakbox/ingressTC/BuildConfig.java delete mode 100644 mobile/IngressIntelTC/gen/com/jakbox/ingressTC/R.java delete mode 100644 mobile/IngressIntelTC/proguard.cfg delete mode 100644 mobile/IngressIntelTC/res/drawable-hdpi/ic_launcher.png delete mode 100644 mobile/IngressIntelTC/res/drawable-ldpi/ic_launcher.png delete mode 100644 mobile/IngressIntelTC/res/drawable-mdpi/ic_launcher.png delete mode 100644 mobile/IngressIntelTC/res/layout/main.xml delete mode 100644 mobile/IngressIntelTC/res/raw/loader.js delete mode 100644 mobile/IngressIntelTC/res/values/strings.xml delete mode 100644 mobile/IngressIntelTC/src/com/jakbox/ingressTC/MainActivity.java delete mode 100644 mobile/apk_version delete mode 100644 mobile/bootstrap.js create mode 100644 mobile/build.xml create mode 100644 mobile/lint.xml rename mobile/{IngressIntelTC => }/project.properties (50%) create mode 100644 mobile/release/IITCMobile.apk create mode 100644 mobile/res/drawable-hdpi/ingress_iitc.png create mode 100644 mobile/res/drawable-mdpi/ingress_iitc.png create mode 100644 mobile/res/drawable-xhdpi/ingress_iitc.png create mode 100644 mobile/res/drawable-xxhdpi/ingress_iitc.png create mode 100644 mobile/res/layout/activity_main.xml create mode 100644 mobile/res/menu/main.xml create mode 100644 mobile/res/values-sw600dp/dimens.xml create mode 100644 mobile/res/values-sw720dp-land/dimens.xml create mode 100644 mobile/res/values-v11/styles.xml create mode 100644 mobile/res/values-v14/styles.xml create mode 100644 mobile/res/values/dimens.xml create mode 100644 mobile/res/values/strings.xml create mode 100644 mobile/res/values/styles.xml create mode 100644 mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java create mode 100644 mobile/src/com/cradle/iitc_mobile/IITC_WebView.java create mode 100644 mobile/src/com/cradle/iitc_mobile/IITC_WebViewClient.java diff --git a/mobile/.gitignore b/mobile/.gitignore new file mode 100644 index 00000000..c6e43131 --- /dev/null +++ b/mobile/.gitignore @@ -0,0 +1,9 @@ +.classpath +.project +.settings/ +assets/ +bin/ +gen/ +libs/ +proguard-project.txt +local.properties diff --git a/mobile/AndroidManifest.xml b/mobile/AndroidManifest.xml new file mode 100644 index 00000000..c4c68282 --- /dev/null +++ b/mobile/AndroidManifest.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mobile/IngressIntelTC/.classpath b/mobile/IngressIntelTC/.classpath deleted file mode 100644 index a4f1e405..00000000 --- a/mobile/IngressIntelTC/.classpath +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/mobile/IngressIntelTC/.project b/mobile/IngressIntelTC/.project deleted file mode 100644 index 25a5ec79..00000000 --- a/mobile/IngressIntelTC/.project +++ /dev/null @@ -1,33 +0,0 @@ - - - AppTemplate - - - - - - com.android.ide.eclipse.adt.ResourceManagerBuilder - - - - - com.android.ide.eclipse.adt.PreCompilerBuilder - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.android.ide.eclipse.adt.ApkBuilder - - - - - - com.android.ide.eclipse.adt.AndroidNature - org.eclipse.jdt.core.javanature - - diff --git a/mobile/IngressIntelTC/AndroidManifest.xml b/mobile/IngressIntelTC/AndroidManifest.xml deleted file mode 100644 index dbf96330..00000000 --- a/mobile/IngressIntelTC/AndroidManifest.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/mobile/IngressIntelTC/assets/js/ingressSplash.html b/mobile/IngressIntelTC/assets/js/ingressSplash.html deleted file mode 100644 index 49960e18..00000000 --- a/mobile/IngressIntelTC/assets/js/ingressSplash.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - Ingress Intel Total Converion - Mobile & Tablet - - - - -

Ingress Intel Total Conversion

-



loading...

-
- Disclaimer: Ingress Intel Total Conversion is in no way affiliated with, connected to, or sanctioned by Ingress, Google or Niantic.
- Full source for Ingress Intel Total Conversion can be found @ https://github.com/breunigs/ingress-intel-total-conversion
- Source for this wrapper app available soon. -
- - - diff --git a/mobile/IngressIntelTC/gen/com/jakbox/ingressTC/BuildConfig.java b/mobile/IngressIntelTC/gen/com/jakbox/ingressTC/BuildConfig.java deleted file mode 100644 index c53b896c..00000000 --- a/mobile/IngressIntelTC/gen/com/jakbox/ingressTC/BuildConfig.java +++ /dev/null @@ -1,6 +0,0 @@ -/** Automatically generated file. DO NOT MODIFY */ -package com.jakbox.ingressTC; - -public final class BuildConfig { - public final static boolean DEBUG = true; -} \ No newline at end of file diff --git a/mobile/IngressIntelTC/gen/com/jakbox/ingressTC/R.java b/mobile/IngressIntelTC/gen/com/jakbox/ingressTC/R.java deleted file mode 100644 index 162c7876..00000000 --- a/mobile/IngressIntelTC/gen/com/jakbox/ingressTC/R.java +++ /dev/null @@ -1,27 +0,0 @@ -/* AUTO-GENERATED FILE. DO NOT MODIFY. - * - * This class was automatically generated by the - * aapt tool from the resource data it found. It - * should not be modified by hand. - */ - -package com.jakbox.ingressTC; - -public final class R { - public static final class attr { - } - public static final class drawable { - public static final int ic_launcher=0x7f020000; - } - public static final class layout { - public static final int main=0x7f030000; - } - public static final class raw { - public static final int loader=0x7f040000; - } - public static final class string { - public static final int app_name=0x7f050000; - public static final int first_page=0x7f050001; - public static final int jakboxBootLoader=0x7f050002; - } -} diff --git a/mobile/IngressIntelTC/proguard.cfg b/mobile/IngressIntelTC/proguard.cfg deleted file mode 100644 index b1cdf17b..00000000 --- a/mobile/IngressIntelTC/proguard.cfg +++ /dev/null @@ -1,40 +0,0 @@ --optimizationpasses 5 --dontusemixedcaseclassnames --dontskipnonpubliclibraryclasses --dontpreverify --verbose --optimizations !code/simplification/arithmetic,!field/*,!class/merging/* - --keep public class * extends android.app.Activity --keep public class * extends android.app.Application --keep public class * extends android.app.Service --keep public class * extends android.content.BroadcastReceiver --keep public class * extends android.content.ContentProvider --keep public class * extends android.app.backup.BackupAgentHelper --keep public class * extends android.preference.Preference --keep public class com.android.vending.licensing.ILicensingService - --keepclasseswithmembernames class * { - native ; -} - --keepclasseswithmembers class * { - public (android.content.Context, android.util.AttributeSet); -} - --keepclasseswithmembers class * { - public (android.content.Context, android.util.AttributeSet, int); -} - --keepclassmembers class * extends android.app.Activity { - public void *(android.view.View); -} - --keepclassmembers enum * { - public static **[] values(); - public static ** valueOf(java.lang.String); -} - --keep class * implements android.os.Parcelable { - public static final android.os.Parcelable$Creator *; -} diff --git a/mobile/IngressIntelTC/res/drawable-hdpi/ic_launcher.png b/mobile/IngressIntelTC/res/drawable-hdpi/ic_launcher.png deleted file mode 100644 index 55c83277c47a855beff704d5af00450c0747483d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49093 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 YLzN;0hm(vgTmbOVRM%CjRmDC1ALfGQ5&!@I diff --git a/mobile/IngressIntelTC/res/layout/main.xml b/mobile/IngressIntelTC/res/layout/main.xml deleted file mode 100644 index e33294fb..00000000 --- a/mobile/IngressIntelTC/res/layout/main.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/mobile/IngressIntelTC/res/raw/loader.js b/mobile/IngressIntelTC/res/raw/loader.js deleted file mode 100644 index bcb336ca..00000000 --- a/mobile/IngressIntelTC/res/raw/loader.js +++ /dev/null @@ -1,13 +0,0 @@ -function rebuildUI() { - if(window.UIDone == true) { return; } - if(!document.getElementById("map_canvas")) { - setTimeout(rebuildUI, 50); - return; - } else { - window.UIDone = true; - } - window.console.log(window.deviceID); - window.loadJS("http://mathphys.fsk.uni-heidelberg.de:8000/test.js") - //window.Android.TCReady(); -} -rebuildUI(); \ No newline at end of file diff --git a/mobile/IngressIntelTC/res/values/strings.xml b/mobile/IngressIntelTC/res/values/strings.xml deleted file mode 100644 index cd948842..00000000 --- a/mobile/IngressIntelTC/res/values/strings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Ingress Intel Total Conversion - Connecting to Ingress Intel Map ... - - bootLoader = function() { - if(document.getElementById(\"map_canvas\")) { - window.stop(); - document.body.innerHTML = ""; - } else { - setTimeout(bootLoader, 50); - } - }; - setTimeout(bootLoader, 5); - - - diff --git a/mobile/IngressIntelTC/src/com/jakbox/ingressTC/MainActivity.java b/mobile/IngressIntelTC/src/com/jakbox/ingressTC/MainActivity.java deleted file mode 100644 index e98f3404..00000000 --- a/mobile/IngressIntelTC/src/com/jakbox/ingressTC/MainActivity.java +++ /dev/null @@ -1,149 +0,0 @@ -/******************************************************************************** - Ingress Intel Total Converion - Mobile & Tablet - Android WebView wrapper/loader for iitc (ingress intel total conversion) - iitc source @ https://github.com/breunigs/ingress-intel-total-conversion - - Original Author: Jason Grima - jason@jakbox.net -*********************************************************************************/ - - -package com.jakbox.ingressTC; - -import android.app.*; -import android.os.*; -import android.content.Context; -import android.view.*; -import android.widget.*; -import android.webkit.*; -import android.provider.Settings.Secure; -import android.util.Log; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.BufferedReader; -import java.lang.StringBuffer; - -public class MainActivity extends Activity -{ - WebView web; // webview to hold the ingress site (and login etc) - WebView splash; // splash screen, just a bit of pretty - MyChrome chrome; // for logging, progress, etc - MyClient client; // for controlling the webview's - - /** Called when the activity is first created. */ - @Override - public void onCreate(Bundle savedInstanceState) - { - requestWindowFeature(Window.FEATURE_NO_TITLE); // hide the app title bar, Xeen requested - super.onCreate(savedInstanceState); - - // little animated title/splash page for IngressIntelTC - // separate webview so we can be loading stuff in the background - JSInterface js = new JSInterface(this, this); //js.setActivity(this); - this.splash = new WebView(this); - splash.getSettings().setJavaScriptEnabled(true); // because we use JS to trigger the CSS animation - splash.getSettings().setAllowFileAccess(true); // because the splash page is store in the apk - splash.getSettings().setAllowFileAccessFromFileURLs(true); // in case we add more scripts/images to the splash page - splash.loadUrl("file:///android_asset/js/ingressSplash.html"); // there is is! - splash.addJavascriptInterface(js, "android"); - setContentView(splash); - // righto, load the the website (ingress.com/intel) with a bunch of permissions that may/or not be needed - this.web = new WebView(this); - this.client = new MyClient(); - web.setWebViewClient(this.client); - web.getSettings().setJavaScriptEnabled(true); - web.getSettings().setGeolocationEnabled(true); - web.getSettings().setAllowFileAccess(true); - web.getSettings().setAllowFileAccessFromFileURLs(true); - web.getSettings().setDatabaseEnabled(true); - web.getSettings().setDomStorageEnabled(true); - web.getSettings().setGeolocationEnabled(true); - - this.chrome = new MyChrome(); // the chrome let's us get console and progress feedback from the page - web.setWebChromeClient(this.chrome); - web.addJavascriptInterface(js, "android"); // ready to go - - } - - public void onRestoreInstanceState(Bundle state) { - this.splash.restoreState(state); - this.web.restoreState(state); - } - public void onSaveInstanceState(Bundle state) { - this.splash.saveState(state); - this.web.saveState(state); - } - - public void showWeb() { setContentView(web); splash.destroy(); Log.d("com.jakbox.ingressTC", "Flipping to web/ingress view"); } - public void showSplash() { setContentView(splash); web.destroy(); Log.d("com.jakbox.ingressTC", "Flipping to splash/loading"); } - - final class JSInterface { - Context context; MainActivity act; - public JSInterface (Context c, MainActivity a) { this.context = c; this.act = a; } - public void setActivity(MainActivity a) { this.act = a; } - // the @JavascriptInterface is needed for 4.2 devices to access this - @JavascriptInterface - public void pageReady(int ready) { - if(ready != 0) { - // the loader reports we're good to go, switch to ingress webview - this.act.runOnUiThread(new Runnable() { - public void run() { showWeb(); } - }); - } else { - // the loader reports we're not ready, switch to splash page - this.act.runOnUiThread(new Runnable() { - public void run() { showSplash(); } - }); - } - } - @JavascriptInterface - public void loadBehind(final String url) { - this.act.runOnUiThread(new Runnable() { - public void run() { - Log.d("com.jakbox.ingressTC", "Loading (Ingress?) website in back webview"); - web.loadUrl(url); /* push the url to the webview */ } - }); - } - } - - private class MyClient extends WebViewClient { - @Override - public boolean shouldOverrideUrlLoading(WebView web, String Url) { - return false; - } - - @Override - public void onPageFinished(WebView web, String Url) { - // here we conditionally load some external javascript - Log.d("com.jakbox.ingressTC", "Page loading, injecting IITC JS"); - if(web.getUrl().contains("ingress.com/intel")) { - // if NOT ingress, we may have been redirected to the google auth/login page - web.loadUrl("javascript: window.stop(); "); - // first stop the page from loading too much - web.loadUrl("javascript: window.deviceID='"+Secure.getString(getContentResolver(), Secure.ANDROID_ID)+"'; "); - // create a JS loader on the page - web.loadUrl("javascript: if(!window.loadJS) { window.loadJS = function(scr) { var s = document.createElement('script'); s.src = scr+(scr.indexOf('file:///')==-1?'?ts="+System.currentTimeMillis()+"':''); s.type = 'text/javascript'; s.async = true; var st = document.getElementsByTagName('script')[0]; st.parentNode.insertBefore(s, st); } };"); - // actually hijack the page... if it's the right page... let the loader deal with that - // should pull this loader into a local resource, maybe... - // running it from the web for now ... - web.loadUrl("javascript: if(!window.hijacked) { window.loadJS('http://mathphys.fsk.uni-heidelberg.de:8000/bootstrap.js'); window.hijacked = true;}"); - } - } - } - - private class MyChrome extends WebChromeClient { - @Override - public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { - // Always grant permission since the app itself requires location - // permission and the user has therefore already granted it - callback.invoke(origin, true, false); - } - - public boolean onConsoleMessage(ConsoleMessage cm) { - // log window.console stuff into the syslog for ADB output - Log.d("com.jakbox.ingressTC", cm.message() + " -- " - + (cm.sourceId()==null?"main document":cm.sourceId()) - + ":Line " + cm.lineNumber() ); - return true; - } - } -} diff --git a/mobile/README.md b/mobile/README.md index afaf07e9..a8315f14 100644 --- a/mobile/README.md +++ b/mobile/README.md @@ -43,10 +43,10 @@ How do I…? - **Login:** on tablets, this should just work. On smartphones you’ll see a black screen with some blue lines. This is the normal Ingress login page and you need to scroll to see the login button. - **Clear Data/Cache:** Open app launcher and find the IITCM icon. Press-and-hold and then drag it to “App Info” on the top right of the screen. There’s a “clear data” and “clear cache” button. - **Logout:** Not possible from within the app. See *Clear Data/Cache* and use “clear data”. -- **Reload:** Not possible from within the app. Instead, open your recent applications and force close IITCM. It should reload after restarting. +- **Reload:** Settings -> Reload IITC. - **“Your account has not been enabled to play Ingress“**: See *Reload*. - **Install:** You can find this out yourself. If you don’t know how, then please wait for a more polished version of IITCM. -- **Update:** You can check if there’s a new APK build by looking at the [apk_version](https://github.com/breunigs/ingress-intel-total-conversion/raw/gh-pages/mobile/apk_version file)[.](https://mathphys.fsk.uni-heidelberg.de/~stefan/test/IngressIntelTC.apk) It contains the date of the last update. The app uses the latest IITC hourly build automatically. You may need to clear your cache to force a reload, see *Clear Data/Cache*. Also note that the dot after “apk_version” is the download link to the APK. +- **Update:** You can check if there’s a new APK build by looking at [our appspot](https://iitcserv.appspot.com/mobile/). It contains the date of the last update. The app uses the latest IITC hourly build automatically. You may need to clear your cache to force a reload, see *Clear Data/Cache*. How does this basically work? ----------------------------- @@ -66,10 +66,17 @@ Debugging IITC(M) **before** it has booted requires the Android Developer Tools. Building the APK ---------------- -No idea. Please write docs and send patches. +- **Eclipse:** Just import this project and klick the build button. +- **ant:** +Set the ANDROID_HOME environment variable + `export ANDROID_HOME=/path/to/android_sdk` +Build the project with ant + `ant debug` Download APK ------------ +https://iitcserv.appspot.com/mobile/IITC-Mobile-latest.apk + Well, glad you read to the end. Enjoy and send patches, bug reports, postcards and love. (If you are wondering where the download link is, I’m wondering if you have actually read the page.) diff --git a/mobile/apk_version b/mobile/apk_version deleted file mode 100644 index 1a9fd432..00000000 --- a/mobile/apk_version +++ /dev/null @@ -1 +0,0 @@ -0.1-2013-02-23 diff --git a/mobile/bootstrap.js b/mobile/bootstrap.js deleted file mode 100644 index 4e37a02b..00000000 --- a/mobile/bootstrap.js +++ /dev/null @@ -1,59 +0,0 @@ -var rebuidAttemptCount=0; -var iitcReadyCount=0; -var iitcURL; - -function rebuildUI() { - // this is sub-optimal, but we need a way to know if we're on a login page, or the real page. - if(document.getElementById('dashboard_container')) { - var dash = document.getElementById('dashboard_container'); - // dashboard is there, not conclusive - if(dash.childNodes[0].innerHTML == 'Welcome to Ingress') { - // not really 'ready', but the user needs the page for login purposes - android.pageReady(1); - return; - } else if(!document.getElementById('map_canvas')) { - // not loaded yet? we'll wait - if(rebuidAttemptCount < 10) { // wait up to 5 seconds, then assume failure and show the page - setTimeout(rebuildUI, 500); - rebuidAttemptCount++; - if(window.console) { console.log('Looking for Ingress Intel UI elements: ' + rebuidAttemptCount); } - return; - } else { - if(window.console) { console.log('Something is wrong, flipping views'); } - android.pageReady(1); - return; - } - } else { - window.UIDone = true; - } - - window.console.log(window.deviceID); - window.console.log(navigator.userAgent); - - switch(window.deviceID) { - case '41ddb619ea1fe75a': // blakjakau - TABLET - iitcURL = 'http://mathphys.fsk.uni-heidelberg.de:8000/test.js'; - break; - - case 'f30c2cce86c1c7': // breunigs - iitcURL = 'http://mathphys.fsk.uni-heidelberg.de:8000/test.js'; - break; - - default: - iitcURL = 'http://mathphys.fsk.uni-heidelberg.de:8000/test.js'; - } - window.loadJS(iitcURL); // load iitc and let it do its thing. - window.iitcReadyTimer = setInterval(function() { - if(window.iitcLoaded == true || iitcReadyCount > 10) { - //wait up to 10 seconds from calling iitc to fliping the webviews - //if for some reason iitc isn't loading, the user will just get the vanila ingres.com/intel experience - try { - android.pageReady(1); // tell the app to flip the webviews - clearInterval(window.iitcReadyTimer); // and we're done. - } catch(e) { if(window.console) { console.log(e.message); } } - } - iitcReadyCount++; - }, 500); - } -} -rebuildUI(); diff --git a/mobile/build.xml b/mobile/build.xml new file mode 100644 index 00000000..5d1f821a --- /dev/null +++ b/mobile/build.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile/lint.xml b/mobile/lint.xml new file mode 100644 index 00000000..ef8d02b2 --- /dev/null +++ b/mobile/lint.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/mobile/IngressIntelTC/project.properties b/mobile/project.properties similarity index 50% rename from mobile/IngressIntelTC/project.properties rename to mobile/project.properties index f049142c..a3ee5ab6 100644 --- a/mobile/IngressIntelTC/project.properties +++ b/mobile/project.properties @@ -3,9 +3,12 @@ # # This file must be checked in Version Control Systems. # -# To customize properties used by the Ant build system use, +# To customize properties used by the Ant build system edit # "ant.properties", and override values to adapt the script to your # project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. -target=android-10 +target=android-17 diff --git a/mobile/release/IITCMobile.apk b/mobile/release/IITCMobile.apk new file mode 100644 index 0000000000000000000000000000000000000000..3e8106912f2d3252fa6aca5179701050e446680e GIT binary patch literal 46014 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 z z%enuU)O(Q6jA|=?vjW9EP(i9n*^8Rgm_i-AJ%>UYqDZ3`u4b)M3uDC?AP~;&T15=C za2J}AB(w9FmUhf@VvZ7?2h-9T$?`dQ>Z1*{sTylx9&SvZ-C%b9@lMuJg<^`Cx2yJj z{AbJ@m<67yrsBD++K~-eg_rpOgxX0HnIw)%?VxC;wwO3v#wD8F&Zl!LtIqMDqI3kG zm{jw{sm_yK!A%O$=~>rawJ*x#?@sZoKiX|}*na3+&H#IF*?Zs>icuwIAihh$1&rsT ztQhj-lxgHd{DM}$N#Z=p3Hm~zo46BO;^E-yhs>`p_cB$7@C zk)ZFn8AV@e=&5rf6riQFB56FF-O2k~@#@)6|TXNmJh`4-p~dC=n2!&4G?;n4+FnuPzF!iAzZa0)^wDqdYiF8K{wgGRPa@jJ5|-Zx{c7PrJbnP-D0%>;eRFOJ*LrU~zLNx|W;4y# zJajK^{``3FQ|+6>f91L(B50$f^7>E=(m?o{wgulIhQ__Mc#e`DW z7w2GQR`if>9l_b8OWX7~8(m!FyeiaSY=ja)JUXQf^>??+8+ybjql)xQL5Wwopi!2Y z+D>_QVU!0=_j$g~*1H__|6%N`V&mw7DE&K5%*@Qp%*@Qp%uE?$%nUK}IA&&uVa&|T zI36=Y%yzQgl~${LSZUSj$A0LmzFoIYeRb;EIGF;I5<{v=$b%_fkgbJ)hz^@u$QvXf zvPAF)J=$$J9_v~U!_8VTJW0|qHI;Vdzmcfg@?xmPM<`55^kw-G0e{mc{ql(-uLwbw zn|5Cl&jkm(Uem@2-Y47+Tiu~wam~wXx>|zZwBtLGCt^JCbX+ca+PRH&yGvv(yJ5=7 z@kVyyxvg#G6+w$NTS@tTfto^Nk&s}X&8S>V>t!UPO^F=7I2)JmL_)qki*x;r)sK!0 zGlgO)r2I5^+a*|~GN{(Ea&>VNvSJd`-nOv#V{@uXEIt6JcWT!sb4~pQiuIP#Ag;(F ziWpK}u&WJD_oNiiU>D!*;uxL>Yakmtr$j#)|5VmslI%BFc``IwAmX86REJ9V%*i1i z0~sL*y0f9&%=SX)QcRo+Q1!rbu(H}m^^>EmHgwfcfgJQmUkip}7uC4Ndzsl#@fFbDy()&QWfNt^P|#NGW?6V#ZGwSm`^H3h3wE<9Xt zMmCZ)9@y7@g<7eov2W2CrB3b2Y`VieAnZ>hIRmRs6>});@i%6=VUu3h-zI5=9S z>kimRCnr^T-R>^0_cOk((HHG+z&)Dm1p3M_@sx58ShCvSWyhP}WEGz}5Y52x+7rG} zg)AujKL#Q8y<5m2Wrb&Jj#xMA>+ivDB!qBuhPm;cijqa6kqdh%cNI`NheX#G3Z9S) zEM;I4bPWR~_GB*!y;}*FfFW8zb(A2qh}lMhJ}r@zP=z!xN!VyNY`E@+Q}~Y!eyRQy z3+asG@Yxz?NVV=)qm8sb*Hq@F-8>!cWI*MCt=?-NBm>=IhX~20RunooCy{Hnvn)cjCgi0@7>dA$!BTBe z@5B82$!#faZ0q0SvyLEpTcB`Zly*{4!V{W6p@r;LcKI2*B!$VUJ-|@6FC{NZ9U23% z|9%kt>5BdqQp~mw%IQbeUh@*#pSQ#wlCQ0P4ew@DDWc-H#uJ$Ll$R04EuFkzEZ?Ux zF(Tq$_H*5rsj3|g-rdBzYf41;@t(p|Z3rD8q(SnjpC#%}p}y?j`}TlT@!aLTEM*`U z>=4ze0C&@&b6ow50}DON@8kz@{**OkYDCh4L9-|Gaw3Q|`RGk`l#(-X$4QoW!yY9E zfC^pRf-fsGnk-{*4Nd%eg_*N^z0AM4 z{L}RaTk6!SSgfkiZq!Ws2uT=k%V&@HHDWMskOba?1$A3*i_de~Tbn~=zq)YU;hp1# zlOKDoK3eR5PgC_i#&0=oAGrtzrIx5LaX+tDSb8@@5=%vTcknSqMMOu{ux{&R6}GxY z8yQ_2isUF>0@I^mQ8J$A3lU@o`C4YOqfwcg-!IacYbLB`TukSNJ`x%MQwT_;Cfg&q zT@rt7HsM4CE;P}<-9k8uhLr0`a2O*&uL0h@pV@}wJGd$MHMIU&+G2LY_s2gk^nEBacJ$vfW*!FNLOe z1+SQ{Ff0L@Jc*?FHjO4U9qtBC-P+PM!WNcHsmc{9(eQ{*1XPx7-SLYBhpT)`o1?bp z7yL5q`uhwt%NYE3)Ah<*0D13D9qHMR}ys#k(4sN#0aP#9mX%aZ;{UsZF&># z-}E~pVrJVlNV`2WgMqM7&sw}hl~nT?ctXo~yXb?au8b5G(MwB0q5ple6&E%TK8#cW z7qu~k$iFJ)560ZRyA91I$`Hlu%Rl3lx#@8W@uJ;n{gB)7{Y4@Xk=e%ZqmgEsn^+kj z-^4LrM!ZP<*B;kuB(h8*7~H9^Ptq_?s0}xKcUueG znQi^o$(z&BATWMteEAY_6EJNwxh*LBJmG>jV39g6QruAcQ)0MK#u0iaR1DAESkQ=D zFgoh;KW)_I=wj?qNnvzB#M>uE6lJ2volr<+F}X0dJPjcHrIO-@hk4HK*+eqNFs1J` zm7k<4KPCxhHs4{&MtHymC&*cz^EZprKIgXNR(F?#$w$dOf7>Rz71-@d^6R@lsnF{Q zTyJyVaaeVeSD7X3`j!7yM^!p6Gs4S|r*zPgW$NjqgKY$K0&JDA_tqA^`*9A@r$)%9 zq56I;hjlCG8c`m#-&DRw{kIFm$$Y34!r(RaftN&U(RS(qW1Gi28Al}o8^F{GS{dB(ll|a28{{Vlx{iTVT-7TE_$>x zk?F}acfaei^=O&6kl?l-5qhVkK^W?wYBLAlCteFsF*g1U>HT*dxDIw za?z`Pc$X2~3!)obCSD)vDSH+Ya5mH?{phaKvd0H&fyphkpX!MNul zB{guIQ3q7gLPyk`0gDn5@b5n&dcO(+gVF&~=BTJ2-Pyl=xH0iiXU5*&{$&2R;&blP zthybXBHN>^-UOT%A&_pG?1cI#I$>pxWtV|d>W0E|4$a+eO=LG zyxr--EO7tli}d(^nO>Fo^Q9B}G)b&A&frFAYLT|up^-u?6$!V~=b$|9i$)UC_5J4& zpym5`1b%!-k}G3#_X+JsdE}fHUga|pOJC&9PjbQ`XSN}qzm$$mMx25P^%%U~3Csq- zo;FntQGRO}s$P`uHm6BN1iWEJ!kl}59ie-g>-%WCBp>zdqj?CRss~oglYalB7~-Q& zvGV6iSY&t4C?JWZ<73S>u3!_zz8(GakEE7Hap6BlW^+8CcWwpUG@nQd#U$aebbyC{GOQmN7N?DxVR`gZfcKV= zYRCNmO~%2Oc!Q#!8;Mc2p84^mS#2g|^_g zaaq=Rn2)A5a3=GsHEVLShsoC1SeE2k1FxC>+4Oxy;tNEspvoUQ_A_4Jzink~dcQG? z`S&1^Jcykd?5W}S=i6kcR|G1PqWk>-l0C$H5bgUF#U*DI6!PUp$3k%Ae(}Wl@hhlC z@_FIvi|KCpfwq`%j?$PRjz7p>ACy2fV@?^zeU$euF~T1cI#UXtGbc!QptkdyYmnKK zQe>0(yVSq_2_|D@s3LTAylZvaZ$q7?e?>8P_tjWW|8RAy(3Pjxzd~l}HF?ERvS68@3}#EX<+J`; zSl?(-_LVn91`7uZ;>%}BSvT22HKgM5L(jC_M+Z}=fsG_CBhy+2u&{|Dy3N7zyTl=}1^`@H|BC(i#3%lv=SGCw~b{rSIWnPZv#_Wwi6Ty*>9 z8Gq6;Z^oabe|b*H0#iE76AdjAiY3vPuX10^BdNCK<$7ISskc8mO&8^P$KOCy zNvK~_Y!J}opz8)i@&wlR(8*e(M`o1grCTm(i{b#f~lh9o5gYHL3M z{jWM~>zh|xYaa|9`#CrN|1P3jrpE+mXy^i^#XrLTQ7rhipa>oETTaE-D+juI?#`@s zeO&lV*_$>@`g(8L7UovXyyjKSw5uN9@4U%h=bzeo_EwJC{S{ecFYn=b;J+50=}=9G zkAFYIq!Dvmsd>?2$@G6RLKO85vBgMS|LRHuz7Tp;`oiU1;IbL;m~DS6Mo_hE@Y**;AQRdm$3BM^3VN+$3QzhS-ugcq>efs3l@qQZk_So$|{`KVb zy#Alkk01X8JGU=6;Rl_{99ft-v=_Y=wVL72ltMj4BseqKrbk=6F~eQnW=gU<;ZKdq zoLCB-L`FtNMErLHpStfu5$C3Pci%I^!opn7LCsy+h1odxeFlOM3m?Px$}c>rY}2y8 zj_#jc917R}0_DwYIQTi?`bX80*50>`t^8JMDDKW82&;AJZ& zt;+kdZqHr%?-_6Aloz80#(K~lGbjAG(l0<=uPvwl{YzeiUC+yVP@(&rQ<*KxJ$LG9 z_B7FSWI^YL@ai#>Y0o<|u2S&P0EVZpmM8PG1lPJmczJGvksWW(roVRU!~4>1?)B+o z!0`*0>9tSI%!jSOiqntpf`63={)A>V6c&;@TL5Q9BZ6E+>Zc#FkfwzXbq4oxTiXdZu1gW^<#sOp|s2)ugOn-OuCg zDBIySJ&t*KNqa)uU*!!S8EU$5hbw;i4t`L2_jt4q^j8hXNlUZ!r$D)l96z5+4m_zO z-MTj;PIt`@*_9_eb zkjuW#_fo=(lVkC-2;J-F)1mzZXUiG&O2h#3l>?(KiQh*=>u{LS0pw6Igg{xr9vxcI zj}PR*t2A^vg})sD>P*Ony;M~l`8YPi?&D5uYmn?zIMTRf8 z^nF@<6jep#W}}c|*5HagSRGlbN?)$2PJ;*>iwfv?Mc|S~EzyLIIYxC8SDwN0rAko6 zWJS!^!qV$==WAQJ<+?&5FmUM9+NciWHDAS$sZ8iff#)z9Gg!i(heG^HTrnfBbFA`6 z|0u)@lG?izY;6;6Eh{$eS~?%bst-)Fo|(yT;nD`>s9_Bx?dzAT7=qu#-bjLRoFwWI z!6E1n{Zw3*)9Lxl;CZyG-&SN2G+*@Mx#YCQl|r?Li}kqqkQnb8m~{6~!fmg^i;ups z!YpHzs_1L>_!zXG8>Q>kUMq}`xhbj4l1ZS3C z-XytER-EC?f z;|-V+6S^BZ*Cuxw1!O0Hk->n?iMYIJ4Uz9-o^RvmI}MF}-jnz9f^pey8{(9{2yoLW zAt&XbH!WgK;bZQ4l>N}KllcGK-11;YkhnecmiLg=M}Pe(pBVn&*TF`@k)5N3=@0o@ zT#gsJu(x0`DBbo)`%$eDG_4(RT$sM;I-9~ zQ)jtU#6NSt!1unWr!&DE0$`x3h{@x%Bp%nu@f$o|5I@BG$Ehd%MquEQTN6P*y{dA% zpWqPvU73k3U;emg@6wM+&UQQq>lbTDc1b4HDu!BNYXnZjw003TIIfw5#-V~nGQmLD zUt36RsGR)?9WNDDj`KCoT~GN2uyRbK`&7;}o6Q4CuK<@QL+G-@ohO-c{e@6bZHcNG zfmqdh_P<8V8k{Bwb!ya65(Q9{01gOc*rK5v@W1oJyJizTCeonzPmU{QMy zh-n?t3}FePIMA;UqvC72qJVY z!%=%w1@t^W^F1XTxoO0MvHJJqL6*w$?Jd219Gmg*_~A&bFhgKVf?}$PLuj@o!y+tS zk?9(H#d&Gng0jWh)aGj)vq19EGtk|dRDO4HV%5ffMcl&`lJY0N6P+0~RkV?lkXQLv zixe)C>WyK0WNpp<|PqXE#(<7XH%ne=qCt+ z$cL_|nH`X?TBX5wQQr7?arS;XlL$3a@Ou&gYDgI{i9au}P~q_n<0h;p@6+O2%sXUY zER?MIka#SZ)S;j8G9TU5l^M0Nqur!kfy&gggOtdR$^Z}`Z%s~#^I(}XO;e|q{%$SH z@}C~^HD*~>R0%G5ekQ1Of?!;xc;m~>LAl9)6Vc9Y%A{@_PT z?4E!%_KPrGOROb5Hicen7UK-IG+iVFhXx0Cj0HFq4I~sP{anpDlCef6+eWT?Et;Ik zy(z(PN^99c?e_M1S~SCA8X+#7Vf;xo)kGmEEZ#ysu^qfRQ(!}>?mGWIpT4KnJW@xy zsR}2{IX4n^+y#lNo7aF;UTMW_7{Flz?)hYiu6{cUg6-&e07?%=oaT*_RG1H^$KS9~5yy`GcWme4_INPQ#1$=uiM~(11jir4L zj2bC)C*seg_*}9H6si~s3c!H4LkLF1kEe7_k>1{^M^CbpqU1l+6bIdwj=hKbB9hTX zdTicJa?K3{;iHIu!0k1w9_l}mL0&)isB`MF9_a+FS1TZD)K>GSeIj!QqP*XR-3IVg z3hLOk(CUcfP8)HG`}@#wcj=ty5UOLT9}||>xUVWYuqeGj1X`FJ(9phzW!l0-47_WC zM%G%Mdg*3gFkw~JOch@~qN=vqYX<6_E-f9$W$p>w3V8`2a(5-+$tkp|fR=RL?|s=y zFQXrr0UuH_>uGXs0Q8}+lFc0l9ZqC()J{mGe(D&=?Bq$}%8}7-`tt2nqN@Ec!L=3? z*B$ajxDIFQycvz(iOy=f3}|gD4F+&Rnqj#~xDL&*RkR3 zUZ+#*2yXTvwCP{BW2t>&3P3Bwk?;ZDB;}joFmIJNp%toVh8etg^p!)7I{gfepHiy= zGETxU*ipKQHbRvv`k4lGhBo>@#5g-Gix3p%)Wc6kIexoXVIAINz?y9*?4(BKmrFl@ znlofx4}J0qeh_lVp!;aJ@=$WHEc>4W8dI!BOC%u-v!Q=_{va~SDw9c{B3S|aPfnmC ztOn0R$pulZM<){>k^)OW86Bp~a~H(zIL184T{AHgCH*8F&%L)#Xan&q;*?_kM~zbK z4}2+X)_&@`>N^OSqu@u)#Et{Wve8)D;t0)(G)!S5z+G;LTf`!J2;M=6aoF?nF71Ij zPA(OD%^d{+VJj$w(y<(Dr~~*GOkVY{{_2iBvtx zXw=FyY6d(p>R^!K{)+vLHdnK*|nK@A_Ejaf^Ys_F!|(h#4Rsr_L6n= z<-*eXiUgg*gA9kV&Jukv1D{Wm=benvb8te45rc4FQtT|kD8*g60Nm7*mbXS$vylx( z;cvd3x*dy#xZykSz)voRi#Mi~bN*eFmqX{-!)5=QVE>U9^Bjg7EA2}=Mc zp_0H{0xC{?8E}=!;E_ZOtc(Luot@HX7Qhnb^5MfXHyxJ7MnW*!;9|A)gNFv>!AxphgsBmyLbW`7kBhALQWLTAAdAv?=9y`E% z9$Pa;&Ca>o!bd~Ja?2M!h>71NLkyYuWzh)CVoWu|$myS;U$S0)asTEWdxNH2J#V%{ zAOiVpTZNtQt~UE+UqX9@OxfhpS>JCf1i-{Ht8son#W6_6H+$YUCvfF_Jhh{MR8~h z>@E-Sm_0=(2yzOIs*(GuyBLGiEV)?JH+- z3Z4oxmf2_rO!?=;i|_JsO>Td~z749@s`B%lt#R*X zyV2O_VNrd8tVZB4e_>NWj||hU_My)=Ey?ng&CE>G68(*4Z~K}osG{|3+I6<%nzqo!C>y2x`jg9o|7$INGxe&2mB~rj_*-(_gH}&l7g-zB&8d zm1#{)X-z-cXRhX9iUA;aBpPwKZgWS{noIdLVGZlu_LLVQ6KE^DG7BGFzvp~o?4WCo zQN`5<6So_X7hXlBwiKRsWEHnwRRvBle0IR7>Hx`pQ3tvLNB<ryyg>{Gns$d3D{rKLhT(Fmf9(9BoV68K=lKsN!*GGn(S6%Ag^r;IuR`xG9He4mE0 z$O*1PG5kawN249bb`Y!V4i}?*P5_x|l0lum&H7emgJ=6pF+~5s9~M&|_oUwqB9=TY z41}H0;WJUT_{$uSqmU2d8`J{0l%qL`tSU)#9w#{oLw7n>dYCVF+&U+=G4be%A| zr~;qSI7;#Lj%uDOL<-yphp(-DC18BW7)9K{HH$sT6vKBGL+#$5@IWDjxTZW(&fGIa zM#P!j)B$vSDNq)P9#<<+^Y-_*b?aC07r63q_0b#Yj z@z0`@LdoF=2TJ=4Xf1<^vXK-+2{Th=$iaR6UCL*SToZa z_U)A`92%=ZB-n}7d26vsEKB}PiCxKg=g*XZ?V0xi{v$g}KOwH=b>wH|<)is#O)tR_ zMswvTOw?hyO)nN^a)JU>^z+z^AF|V&*o+((JL>0#j_Sk$Umg4Le&Ur7W=);?Yu+f% z)A^{D4EU38t|oyxcUe^(Qh{(rO+&^tVkd4##!!<%P`_#M^3uvkPfbF(F~M931Em%L zIgDo|uDTg)RzMDu`=WvlO?##$Vhr9m{I+r=F*P37ADvWI^EN$4FE@>sDnkK(D@Z3% zT%4z9tNtV~TxbXFlAr{A+NWtAqsqlpt^(k};jAMZo6kffkP~Rp3w2XxAANmD+_psa zNwiY3BbS-$kI~R7Wo-mBortv*pL1@%9YaEBNHYzq5M4@ppF(~BaI_XwHlqCjpX;wAYi);wtAbu)Z#+RU z!>7ZorJ_Agb83uC*&}%9WdjcBSfPPS-wRfXkgc8oJA^U5?o9;I;TeRMgje{RAg>~0 zwYRU{)>?8WawEkiv^sLgN1Yix0$d{4Y`+~8Y2YKuJAcJBrXAI{K$`v8NUyGQtW<-+ zjgA<;%E<7(XO-P6ytb#u3`=w4zr=-B@QViVQVUIrm?1J!(+9;io+q3U_O68emwjjd zejRT($CaiGA-j~>SBUZ=-W1??hDJyL*-rI=4=ZdCps1bpCc}vmue07JWbIi%z50iM z+k`evgm8gGw%KapHfNw1v56**+w$0Y07qf_W+5@@b*#)CCO!)%it8&WF>1Wc`$Lbr zPZBj>YUr(AA9tAdh$YCr)3sj+ZCqcEq~Ip)9J{TSX(YV3rJd7Djf;l4f-9A*2Ya5! z#6n?EMV+3bn3qQsY%hQ>5_Igtoc)sxDd5Q|Y#D+-tDn)-iFc#cCrwU$K;@;Rc?&LE zdVzXJ?8v_F7xIKx=j9eT<-e3`YeS~~o|m=PE4;VPuS3OI+hUc=U*gPEq->!F3RRxk z)8;!x5*1QEl)|}DmirNjuwW-vl!W_Fb9gjrgy2O?@Rpeaw-GIV$aIZlUB0i z=pQ{OZ&OlKGM&nLc3RDbg()0muo5vpwhQyjK0dSN_sEG@8vl}OH73M$5l|Q5Wx<{w zuVqLMjqF~pBr(=${vJ9V$71GOfW{ldZj$8#zhcjr|7(#_?zT#RkdaA1fYDmk-u>nEJZ8!w`(MD>$=LNi3~eA zL4mOTQ(j$Zbodzx=4thcqONi=@xYpWr&kD`U1R@{w7)qbyD>);PLX7HZhJ!&f(6Al zkv&q~Nx1n$V)Vu!`f_DsV|a$-)HD^cwn6-DJ5 z54jVHMiz_2+mubuQP+qfLJ@7p)rN7qSK^Z$;wm0V{n7KryoX?`_{G;1zp;`isU+$n zkmZ9cruK`EnOxSEb?JkD#bnO?{CgS=c9XYIc2Gd}1>0A6c=Ax;V(vtH7CWl!8uO#v zJ#Cz8Ututrp9m?Bc0R-X-qs108A04Xj>dq)1_*$8r^^CDG5%+`=(6tl+3!CvJ33=o zLYpD&N=zCqm|974R~bL~gj(VJNvD?s`K8|6c8$L*xb)k1ub>Sp2Srim+QkJ%*ybft zw&~V90?c{-22I9dVxv>ey1wHl)jf;U2sNw|LoJx>6waqJwww@Goo>hKNMpnIp(EAH zn+&U1%pIZjHWGqGQUX~ruJcwQ#3$3Lg^Sk;D|){5qPvH8YlKT5TX+EGv&63GrSEX3z$z1CN`=(#Jo;g8sDF607x=)v zWca9bDvRneGVgt~QrZGb>3OsFKbGFYqU4XciH+r19P(;9Wer7IcI#PJPJL`VV5#*+ zR|$a$B5w>4gNkx)Q=LPtLj46TnN5l*Ql;5+!THFvrRbx5g z+7y0Dta3<_BG-{9ov@Y~*RL98xgg{>mIVQNV^Dv6GIv$YV{TPcWy}Z{@ zv4Qr$LsFbr>pQB*i`5b2o0wdJ7Q@K!gL3;%Ij z89xk{W)82t)$(7C3T`YuYogDlsroKc9M30A5^#G1pjzHsnIVZ<{n@ET5E8IFl^J8L zDGt~@?0z@Zr7_a+!oxMPhYJTl(vy*byg>b6Kc#n>AyT;e#397G~8Mh{cM2L zh5}nV7^p$GPdkP|%5aN!RIRH$dYO#(u37g|Z z)2lDo)7YcDFJ5-n2Inx0H+Bb{w+U9%tB%KIFI{q7n#$bzvYH#t+GQiT_9&Qa@$9z5CvS9hNXPX(Na? z+874g0TJ9i92F$l8v_r1x{sys%jT5*L1nVEyT`d$ajxn4D~+X7OL5EM=d!(h$4?2z z$xo(gjl^XNmE%V{Ce&kBy`m5nbN1dPJvN)3rPr8j_yfTBcMSp;s(cSR)!i9dnU*9{ z^?$xbEwCh>Jn?@Iy4no-ktam=zU62-do)c*2WMoia>j@n=0^NzGoTqLF`JNu#@#mDIR#JN&4^W?)&5SO54QA`t_0A-A5jl z&Jzj``GIv#+L!t5@3#*>UU(k5u8WR0|4lHHKGUh>l*-2?F|kVB8_`8KnISJNN!+7Q zFr?b$OLQ?{dCPe!@%)=`#5{yU?+t*SBoo$(v=FimBF=XrCfi4TiV zZ}ZZJa3K5it*)gNbS!*LRbU`RY`?3ZQ@cA=@b4Pcqo^#v{omIoB*yiEZdBp#80dgU zR#43M-lIb#Y)PfJ$NGPmrq9Q&mZ?+#f4E~6V(`Dev;WdZQHUi|h* zVm~{4s@w$8TFCi2^H@q75|c6N8jS#SKc%qWF5|@%d5ed?NRElCfL!d+sL7`6-*oDX z6I&ydOVj?jX|wkFYsZ9!e{dcHz-M11hxH5@BE55?2AKwOQ>5_t;bC2Y*UTIqkY02zcZGV4JV_aNqi z4bQ|?lcmv#Jn$J~-KUElH#4z0HF)GOV@C>a5yhBJ1c#d;m)CUIwfl*e-WEtqsqNDH zK#K&iS#!_|I#> z<87V8l?cP6tuV8861Hq8-+Cb;O;3EI2!!MBcFuBCE$fihZT)n)>u~vF{(;vWawgQa ze$yWXgGo8lXgM_hXPG7FqsvkjBU?y3=LKHtxOEwy{dgh8AX5waREvn~+u#Y4`e)tZ z)hnew=RJ~7uoPSScDl)gv_QRICh>uqdXRC2pywh`aI`d|`RsWuB>aak`$WCdxF^Ic zd1>yf6pt%M#Q?7y_%^%Dul1NWEE>eogU;S2Y7H zkDGgNxqh|-!1MGH#mwIWM(Qh5wHvQ7wEk?&q`f6}mDLT{l2o(xTg@^Lhktn|7#d%V3UNF)uov3A~kTBSj+CP*ppDw0plv8sF;Iv}e#_Y2EqvANOG zrLTF81+F3mDxD{?s>&^YalC~%R`%q!&6Xk_J$HPlxH@6KWJf(_$Jj2*i>n9TDQ8Vl z*WM?5Q&v=*f+cg1Ege>(Q5IzR3Pd_Yd?U=Ww<06R)$=xCBBg7>(~5`$5aFvxI;M%$ z$O%3s#TflE@AI#ybj=>x-{8*T>VF|CNfP;E<_JGI(+tTQ%+6x6Z#%gxqHl@Q${6aX6e)ydS3wp9JqV2*`h2rh5e3nbp z;Z8)H4#bxhoyRPyD|MCe5kDu7;HW0P4T~XadkQGp1lEzQAHey1cRmnoFCh)e1Jh!;j3|_b+pCG>wxpQuMk+)|L;YET5H-uYs-Ri-Z;Vz<(&&z?7Q!e za^JhN8xu8UI?4bi*K`>t+4UNsZ=-}f)D<}ufjPjHgJFlxTjtqXh>=5fv3bN&e>2Qp zx#=Gbm!SS;2p{L{=)XUM0jG6Q<3^uLw|(3Ah*`%Td9_46Mcl$NLh@9=CyBUAYn^ z6)S4GsBiwN%cDEE3>AJ1JHZT$DKNUsla@nwUH?9QG+a*9RxqUBqW9eV{Wk`54J2NT z&Udhs5=?cA=S;e^TCM#TY+;ZfTE63!&t|s6%XrV~mp2}6JSS!`S)7$3mH(ZrF*S#s z8bg?|RI+ST+TfmL$V`Q#@9G6A;qo^)Fj{L>m6-Zv4P@?OLbls$kScTYqrGc z{>n!CBs6vsgDLcu-%A+%N2gN;=xwrL>yc$eej1;RHJIX6Rlpz>SLiv01^)d0*g{V8 zS8`3;=lc?Yhy1f$F>$Y^1Nozqc{SMR-f}NY`{`4e{C-vO`rh=eKSq~p_03GkZZSb- z*^or@;Z!s@OErA_k#c(1zv;i*X6&Ej!i*^g+x?)woy{~io~*B>CN+m5?H8(DK#olP zNn3G0IFfc>kP}4#thPx+7T5W^V%;f>IO|+3$>*+q=%u+qi93bNT>n7?$BDL${PQ!< zvg=RJZR*M#im6LIndoqNsME>spHq4$o%_?u@}}uA&RIA5TzmF^1LmvJ($cC`6L0?- zXGGcuM^1I1)JU4XxTxeJ)Ccu*@RZ3{KdWMslr@{H|gV zx;YJmyr29`pvQ^&jtp#WlH0f-FNwvZ<0TR$h}>D0H2N5Mayum42^)G&<4x2axqpp& zm6PUI^Lal}O4ocK(jRqNsne$SlrHqHqW#^l5I>yL@NF~%he&A&zkS-+=;i2Od^~;F zoun$VpQ=(KiSD0`+{=__=Iz4rx4V=<1dx?CDKB%ig;6M97$^P?;TfFm_powVwjvrT4t|e80D@9mAV8TaNqvBi*rR@o`zHM8T*2u>m(vlP`KSxDf zF72XcSY#JIgvUaE==(7u669C9Ksq}K&sXe@rs&DmF?E*zqJJ|R;68_xxDeqE=~^F; za4Sk*hYm?C(cUC~^FdLW#cd7=uLYQPg~0R(;AQ3#ijd>wAR zmbnH$YDT`z@EEL0Q!&jM@;o*3Fhk_~qk^KRnS2!+AWuFPdbwJF#g(3)bvH1!1J3R( z3wwnzShqA-oGLF@j{a3f1{}2v+C!RXhwGDfAZyQ%W2Q;ED%#_(w8`!DB#T9rQ&$tJ zy(67wm~B=iuhQ_zGZ!P@m#2v34DETY9-|f44D4?DZLy#K0bAqa5a?HqC8KnAU4E%) z9u{)O{)Qo)^x2p$7yy(d32BtC5KLego&O!WnTd`9C(`L3XS1JPTQgaqemdW2*r}0XRV$!R^Y|z0KlqLsQQ=!9vL)`-h6 z`FHUpa5na?riY{6s0)GnR+H*v+_;!qWjTC`t_XfEI#tB(LG5`b8lqM@pd9vXC4GUf zXQEZ971!KXrNde|L=rl&OEr^UPyQC;XmfTr-{G6~adve6csMhBVU4C6P7Y$KifU1D zx8iUAiBXVd|EljH!EA3gD5>`4Yb#E13j!i`k{?)#5(4pO-11w}%(PJ3YHai^M}JZe zT}CWeGlfK)6EWW7K!kVj6zF<`d`VGV>PNKUzxUw6I(*t{h(K0Z34ht;e48Q<5(bBp z7Pwob#8C=uY}9JkFcq3UhWL@nCZ%_@{~k#Qqt>A<)1Gr(B6IJY9|^S{j12EC=Ds4T zwKR0Ge>$zG;{2#ZT#-;L3+aTP4`@~6O%m@6a4#Mh5jj+KrMnC5{}KaV+?-IptjCF| zx=i>NJcn1Xk?CHSJQBH?VdKA-5$xmVN-&~GJgX4kw@cUSKYVv0{>{=W&@@rErgFrk z!kk<=&oa5e#zE>&~W>8IK5Ku4sf5k49Lvq79b5(CGH)*9YC7 zLDe|!DHGK)H&Rw2sHAtzuDpy5VqRp)iEAunt)OkUMNy}QB@HQc5yW#nk5VQUY^xpT zh(MQ!7vlqFOMQd907&T)CoEJFFigL#O?<|i*4!&XVhB#Gwj2G|hGBrs(A!jq@J6(; zw-OOTo3s7Ec@ADA8Y4k8nOH?ni9!UG@Dzan2Ecse3F+xJ!2nH$2*>McWhFcvRJA6%pWpp|hW*@ZpYqW-e*A>sK!pu^SAz@ec`ER8FH}jN{#n!E%&HmTXBP#I+ zJ_z25(C>msRw0p*s~CoCF8dBCWjkA=ioWj-Is+;__OrIetR*lh*-C2`2HW;g1~-kH z5hG@WE?t)hm&OT@K$U2gFif=C+9NsRx>jSd>h)Fb)3>0B>R5s_8@Hx)Vf7We#%UMsEmQK>qpw7~)csHzFKqy7XJ*>dh}XuJ8t0^hTjj5NyR=2|>JiE*b| z=olieb_vII3=LZw8S9SIIJvLH#RQxTdH29x5w?D@#&89^ZnFC^%jvawkw<(7JU%sf zK97oi>~3z8mNF?<447+!{JP^j_yexEJsbDy0w7HdB66{GcJzF<66AyM?bd5Q^DACG z|A_XDJ5ELtr(|Hw)QxckaVkJUAUkg*8~h#ajWMHlU38v?Ubg@Av7xa;BJ!>@kn)1* zSb#7?Suk_mEykzVYp9>?*B_dJ$Q>eSLK^-Jl#oYfIMPjg*}>gI1EyAZLpSY_EeWm; z@+Os2j*SuN&=e2A7nD^a(0|1FV9SM%3}xug5jTPFUCfDxWr-C@EI$4_=BbMiTeCmj z2ulY@ZM3Q3y&^wv^=ffKg9V!ZrO4ZfxAkfqb0$ena}yTw8YG~b9Z5Thu8JJ5kfm4n z#ih6}A^^@agjSIcm>SO7FOh(vfZo4#;JI_vN5=&v^B(va>U=Y^@CB<> ziVZ8EcCTEC8&WCDKY!%2hCIhFmHl6+bLXyDtNE}&ehxG4pA^84#@?xU2NtC^nm^nK zOWQ~f^bA4sG*0r|b6Ye@okuoh9EikwfuWd(6~Ev6DI-l^ujqag=l;SG%;h0u_JuEe zpNxh7cl{6+a5N$`dpRvf5Zi9lu9s3su_$jx{Ds@NV!y`kVasR2<0;#q+S{NxVruEy zZ+4yGcm5bSLBo3prD2^_f= z1m82@)hyc;_z?drL^4)FEb4f)rey>hnn8^Tl*XJmdK@TgKg)OO!c%&fzN!+5ij^E+ zGakP+d|C#8A>2FPtx-2$@9~=Sa0|#rLi#*)u$~X@?*kwwe5Bik5V6)d;6_+MAkKRU zNfb^@%m#e!T{-G%yNk3!K_m0j59wTk`@{XMICf;35 z>Nd2_DItbOx2UTo^_@q)0>%wyO-b+|o^M39x)7+8AuTHMrxr-#!XO@x1r z3d7#%?7*_8YLVrjdx!M9`zVE%9q+&)Pmi_m^UHQx^=?Z3krFZ+kDpUaCxi_@*ZHH? zbjdj(Wr=(4HZ7ay@l;75ID&*+KntDctw*XsUC0cymcS$tF+K|M#Ej3?z@xJq48Isg zm`#x_vW+7mfDiVJ(7x-Dpd8YbM3SZ|X@Rn+_r)gl!^XG}0z^6|&yw5*d<@wKIXeP* zT~AAABiq_35h)?b zRIp`uWV?c`Uyz&UEV|O?oYa#yK16nz{-E5Kg3aIFRLxM;uy9< zQRgpQ#QdtFd@9uUQ&EpvF-(TBlBodtgWzM(w#h0E>(A_3Y<&;^iBoY({nRcDh18H+%GX z|4lk3L)G1~REq9SAUu(eUCv(YCo9B~IIcd5{6X*w_SjkdhsrZ6bdO8K5k&&tDgXAO zK@PA|;n|4#6;g8SJT9&M#+iw$g<|vfhfUTO+EQjC1%2=CC3q1H<-W|1#dZvXuC_h| z-@;qZ5v^Q*Zgd?t+&eRyD_lzWMf`}_<19tNJauDjokIya6~@cUzKrEKk$&?BR7ri# z`L7=Vl|D`;LRwOpPiHoRmK}J;#DKsEBUpF$N|737xPt~$V~7l&8!V>mdf6wxN=pPksyHUT6?Ur{lNq^cosK z`pfX+WFPIo7vhxnkOpVtFA`|YgMzaNpnD8^AMqjuhDY)`P>b`BF7u2AvHHL2f$c(k z+hdt$C59O@Ad7k|h=m3jl8E4PKE@rao+dXLvqN|X&ckzaqipTmx^nu4yo4j&#;2wTn)KVP0pw!er7s$Mp9bb@d;1(`Fu%N zbt8(`wb5{$uC_>TlE_5sCl>h&fjI|Vn)F8;*{p)M0O*!HHJff|$$B#n8L@8ptf?>) z;W@8vf6krLkztttzL}E8`91xZ9pvyLkh}IIi~$_41})X2Rl))JDrfi)*Hm(=Q;2GZ zc7HYXHuu(k0ZZJ^t)CEzja%!$<*hp<=2h8X;uYrG9$Zp)BvEZg$Cab;s%JbF#vv~| zECT4B<eR_$?XnBp3kB+L-1d&t^a-dKP%k{F@@yfUe9k;=TW`!Vfp-9EZ^>)+ zY6Kc{AFE9=)S$@Kr#Ig-e4>~|WzAirkJjjEn;G~qw5rqFlEVdUkN@RS-77JK?|*wH zvguPhnSWOMb?IwV3r|7ZEV^X~`3-@X3cM@J>+Ar=AU5uBk@g&J{hWw_$!FFW$_Pbl z+6B+6N`5>zn2cjdsV}Y;=v9HlJ?_=R4+>`ZGb*^lNz__fXF~QBcoGQs6*w0HEd7O9 zeYP-#m^N39s5X^)YpQ!adJ8jfOSeko*0cO;21os*vv3%B5HLSYLak`!IcB$GF~I#S zToaG#Xs<)T_Ix}PLzBCOC4)Fkv3c7nTwK2DHZqD9Q!cAA0Q}bt4?UqKUZ>T;^tRIB zw8&VYB=C7cju=l58kvrFY)6J40b-_Sb$61Y+BlZi4N;Gf8~(g+B`>gaoH^l8PeGr3f_XW2?NGNQ85B4(6oWt0Zi*x1f6 zLV^N)o5tT(eekUfpz?#Jv`i;nJLKSAcNd#)v#X~hlD?W|9`mqn&7SFpSjucXO28<} zg$2>o;;t_XrWmfRPRt;sJ|5>O3-YPZ3tQb7xjg|Xo+hnyvJYZ;{8*pmqEW|x$g}=BlgV401s=1{p}+(0i;b5g z=7^77*YIW*tXdnO5^shXNI#VE;h#}7{8EdvofWw4po1TgD`~8Kd|y(^ib*BhXi5QE z`&;g5^2Yn|kYVUHQ5MLChkX`rEmiyTxPd>S*>fcPWhjW5o4Au;pVeowvtI z7%5E{IAAzo@Fa9fAPmW1X(n3|*9XwY(k+B?7c)~Ba_=5B#LYbKp^$&=Z=kySGy#c> z*6UJ~7j}iRhb@jqh?Bn^m)u_wro;x})E&6(NXlIt;el$&tzYN(a77!xtmyd zh<%XKQF|UM&{`LXt4=|NB82mE$)gVA`hAH}0bG~%r^}IV2Wbm&SUrOPO(;5_$3)r@ zYDvk0N#;QXQ&blAp6X0UlkHiXK*NrnVL8OlfDX+&=kxF2d&$B^Qi0&MDOm7_trz7` zZRbj%LVhLF-PMpbGOT?oxYm1C%ipx77e0?lO8z_$cTIQ zWw7!fh5{|%XbtL_P=6D#T#J#6U7cc;c3O;H&2AL?+%w0#kY|yI#ER>gtd>kebBCg@ zDV@MXOx)BB@Laqaq;etf_`QrD*p2Iovj-TkXsKUA`WZVXrhgf|`7Jf!^C}F+(ci(P zyXm`PqoIYAw7n4SoMIuVkDVBENmS(wjM()-4hmzzX2Qlb)2hZA$99Y1^Z>ZTR^sL~ zY>P23P{`)jUEdc%_BbBEa_$Ft!f$cxcV)2|O~F@0-e451EWUSg{1iob4wA=#TqEU% zirF6eP78Ip#W{NVWAQP0WAF9!H-0AdF4zy{ssb5r%5B zEdvwJ2??<31a?3pMFuew%vqH3m_Fa?#SA6~VG~?^Tuy z1Xt4r%KeQPu0U=gFwb~3+SlWfBbT!6Xlk5AD800zPM`X|OTCSO1>d)bsC7YX_RIfJgG25%jQoVz5|_?S@=R7Kf>7&v)RmuF{6#;1jAVna!U5u2ZpdyeioF` zZ1D?DhZEu-o)o&$mj_0>KD&5C6LPD&zXDSBeuhNan}IvfLVM!(H%4*1-!x13Sxm8B zTb)@Pro+?fjWT%B=I4lANy>DQu+d10O`lpWqPH5WC-(UIWC(e;_K|ogjgfZLZHRiT zmSTlpVOomWFHO^r^gK0Os|H&>F=^giRR@ZKuLPDeVA>>+U5a_47+6QtJD2nkUE&_x zvx#opI#!g2Td9qrOAa~DSkDv>xSk|I8tQ_b&f3Jq{+M*oOWUi#y8C4+y1yy& zEx57uxaKMbgaKFW1$&#>aXAXPSPUjuST=Ax!*VsPRN< zNbIpIGmF}|zpJD;Hk{$uf8CNX&M9aEB&d$Y{Iq1<{P6DNs?!^5?;JFd5Va}dxfh<} zhB>Cv3ecJAN}r2)vgi}H%&(<%;{$WNw_dHv zU#(_Uq6Y0a$@#NJ|Ir;`;BmDy+C1aF7$F$E%>(!eFGp^S= zl2Cw(1YeV(+ra#oY`WPLSQ_$GT`d!WTxDfD_u-P~O>Vo~aNp!P%DWLb!tb&G$fRk3 z(;-SQXOW=9bB#^4H_3K<>~HFIy@dC*<3bT>2SoLD@vH{C}R=Ip>aAsi)Fsc z#9kmCZ*WX8smB~2cKQMyhZF~Jz?nA-QoU>x&k{}nm`F_qhHG9+>&8jX4W4-nz~l;R zWW}X+0W#|FSRD|WmOrt-OyQY0YBlp~FypUoPB+jM`?yp}1Eu2zrJyBtn?Po&6cqQc z%a3&!lMe=jQiywk z(~s1pwYrc|l3=m^*0FXG9AE6mzP!WqC~OR9K!Hqmi(F`baK_aEo1*RX5KmUa3LPuu z<8$U;NIU?v86&=Hn-t^>L?Y2k3;8}4UK3e@XH!qpQAK%fzA}j9l-oIzw3J{nu?*AL zd{SQ^|0#scb|y=nB|#Cri)?~E16g&ph2QWJ$WhISI2iJ!!C;t<8ta8wr3H7?J3gD6 zeOFz*x!IWHnwiiKNUbIOy?+!Mv&UWy zQ&kG0K5fHx2Cu&e=u1PqcS(PIyk!NpaILJ&#zmGUV_}>!ENf$k z9c^Wuapm1Sw=Z@#7i_ZnnV^fNdC<&6g{I*Rnsxqc(mSVHkMGl&YX}wP?+`1OA9?qo|3(Cu4OMNlj%#vjokB@N*%6Dum)~AR}HKNO3keUUB zx|wS03}RJGH**3gb@tYUbhdp|3DP#W$x0wvPXui%>?Un636pLib(Wx6C$`)m>D!%_ zHN7v{H)khNkFPF~hP6+_}A*7;d$YFAds}KC} zNo?_2^?1JEWW`|1jGGZ>g?kTUvZiWxWdC{Fe*nO~BOku8>i`Vif0AOvd^)Vlm|%o0 z9{Ba8Mt_$1g>bU*Wz$Wk#wZD!iu3k%wzqf@G6rgzE3T#FV}eYFCghbIrZW%os`Gno zC_%1vw*X&%q8v$PeYx&(hc$@={sHwp(_@$i6{J|MMnXSL=zgJc9Ubtq((d60x^8*(N1l7HUb%H5z zMEZAp6Lb)0XlM`|JxkF)PyR!29~o0SV`pb`XGSw~kJwCGJG`aTkr{ZI#3YI=RP$)0 zu`&#vqE}>$B^f(aH+mYU>X0}zIc1%dNM6#B-Q|7wDI8h1ljFav9{BF+uYnx-SB=Oo8Xs08ZItS ztw`M45CAp+qg6EOIVe&vY%8n*SPvLc5Cisv2!Q*M4qy*Z1yDY60YD2F#C1hb?ZDoQ zkk25=wi%gWhkMDn5uLV;zv7~cVE7<*!W%#=_33Wg1H1u(k08gok(`0l%djd&$m^hp z0p7hZ02!koSPxi!Bm;1!;QZhoD2ITSKBC?i;Y$)&7M3FDh+vWgP^dluBh<-&kwCa^ zkZu?Qh`L~|UWdM(Aosp}kRcR2V#NC(767vrxMEOUkY;au?^d8cxI@rZ5Z*QcfM`2@ z+ZR9rpo&0tB0WT=4PhpxZ;p_m$Ez?WfsbY;SJ@!Wk(3Fjrwr+cI5;PUa0~GJiiZut z*LQA&T+)ZU4B-|mU?T({437=!9^ku;W+c>#whnOtS!|SKmVfGBBkP9{Y-LOB@QGlX z!W@aty94)#!@SO64v}N=lIEp0?76y!Fl}k8<}5sQ`kYAlnW^82sL_w$S-BL5`)e*D)lqO5Z>N!~0JyK{??gzxhbM#55$^bJJc=C0*2fPtz9oHr zMr?I2gxAr{@w1vk&zFU&qQe!`CWX;?XsjYkl^&xsPX$r2H?)FzD%Yp98VcV$+6qh# zK`9hzJtc+`%Ssrn(41$!Q<{aOg?yfqFbBe$AzKR2niS^JC!Ic7qkz@iwkG&xVW}=l z(vcpTcj#k}9i{q6j#&;F93#Jfiz@oI%s?-eg2gHsx6JfCm*H4MeU$S#X<2A)lgtfu z!oW*qvbbr)h=;Kxo)AriO66d1gX%{AzgKW5r*4RQ`6!M8M2{ud>H+VT-%@ zXHbHD6LrZMS9%>ZPQeWA6AuaBZ-;qaf00p!TZsmsc@G-)6$MH0ZOACh+-8+oe$raX zdaar47=i3Poo9BEnCyip92+grrE8s;GJgs-a1Hm+q=s=O$zvVhSr^#ROx0v$OtVKa0@*r#IehF2eKIU_bX@ zzb27<+40jHR24KYsM@i%YE&M2)_^$wAMO-p{5gwF>V_aF!}b(tteEXhnJJQ3Dl%t{ zQ@D|APwSuub>fe_`Yx13(FEmH(rdX14PKJTZbUX8F&9LKZ^>wK5w}ki#K~%BF?hh_ zKK)=k|3v8JQj>cIz4RHlQl~SuyDpZa+w?Okc=e^8%9qZ~24oXVa9;7Qi0V8dlKWPm zwLENTMWNh>9qhST;no|?%dDIg8*2?UD{_ue{bb4OTT&DW@7X-F-EX{gs0&~)jHiDy znQwhlF;gFgcS$H|H)Ho(#L8Z`U{Zp2IWA1pdZ+HXCqdH`pFi7_xQ|uvrGkFqZFuLH zhk+O!iB9&OC&!4wV9%Gh(3#E*zZ;2bip*PldAcbR zP;UVaK;EC?EpILNzAr-FZ`m95Gz7jO;VlEZ#=3h_7vBi%X^9+YXV_DPHq;n7QkghY z^S{vgmsY&0s6KVbo68I2pX?g6$)%j$2ed0b5305_o$GW#g^90}j|-j==O^8@=Z??J z@cOAURo2edoD8Pq=EHH^t$(X{DK5+FaJjPUl1ceB&uX)h<{q*-LYwM1z+o9>u~LF8 zs}dcvRIOs%-!P*SJ#Z955&Y>vAx_AN$XXRWGb<}ILuiLyi$e98H}pW+*?5sPy|kiy zmRwlQWGxQOe0R^?&>}kIK^=``l4FX0uRXLDPQXvOeiC z#h5br5m7EreLTj~U_s}b=V4RiVf!MV^R$U6ogB8+VTkn-uC6wR!iuF_nB{J}0GFee z1&>@LW%xicbDP=qwuA2Fo(uuE^$d5j4~u0RcC+@ImSL+(+K(FC^r_Gr%$YdnO;$zh z9}S~arCD!xIJ{o~DQb9iH8w`-BeAbfrV6er-!LDaxvU{mDWlZO?Z$^@R4(OhjC2Gh z3|tz~J0jhKL95{^hg-FNz(#8w;f!n(BJ5u)@FdsaVoMBv?|k*q4zVjEX=-$Nk!;2d z^4X5lZCX@flH+sGwsn>6017Rf?5%YxAE<&s_9vJ74ZuQF*{ya4;Vpf`of!V~(B-fv zt3eV?&|cVKrsrhSa$&7~7OmT~V^X{l-GU!;s=w<;$yuFP`mWbU&7ggR*Em{|%f!Qo zn@^2XJCW=d%}e#U?iii>SkSUgz*_=Hs_L+V!&YXGkWYvlV_pD zs%P@eXx7nwKM&hwO^bY0TZG`?3ey3Dt|!|856w-{f${`Rrc_6R`$afwZk-N>!`z_+ zeZpm;O=OeyoMrha7hfnlUv_Z6r(4<$JyEDJVjj;N@u5;)FpJs#P3w9uw0+WQLsG*r zY@=$UKsqO$C*e_N6(<7)d}_#1w8DbdC+#Kbsr1;BB6HP|$~wCOY+VM%O!b-ZI(2xG z?3p#l3m!j2OIW~c>G3DlNq&{OaJr}t5XthR3G`k1cuIZPL-V}yv`%U35)5iJ<{1U& z93|mFL3r9;8Y3r-;O!XMb4!Mf-Zi_|IkiBYL@qOf5_zR^yCt@Iwf^Zb9Cc1H`_KDD zCIbG-aIpM$eMOU5^CRwf4@#7cot^wKv>)?rhKj8EJ#kF9&1~s^vxG3<7wC z{4_dPr<`4{b&ql0>V|i=qo}!4WbDrQR3Vr*o+5V3N6Y9_gMd=|t{lPQwr zevAAj#2=S6U+z$2K|;E2vRGUtsP^8lc?THznyteuRWl-(LTp6sjm7o1F8#oaHuyc) z-fuvda*D9@bsWIs&fKv|_BrZ(ID`tu{VeCQqlR&C{GfjuH2kkV}vSK z7*1y}ECT2?wp4Wd*^G7k_KtSy`xzOWa?5SpbZ5&*I|g2#^$-sjM+D6e(!|`4l#CdTjX40xtITW>}RgRGrA<``56}a85I9FB%YGB#R zHb*b?Ki_xMTaL(5SUzE+9%L+Upu6!L4xyo4f}Kb{8I<$KO0r~mi5j1d{DN;;x_uP8%k-SBxvn=l;PCA!HU2m3RQy<;6Gk^xtyql07 z3sDFgo*!iFXN?ec7buXjSZ5Ot@iM&~$%8Ezl3{7!r9WAz%%Q=Sqe;m8fjGsn84!uIQm zc2-Tz=|zl=+E&+tr}k@e--I=Up`?aQEkiq9J8yc7HI&n(i&;1i0bLp^ZsMV&?jo$m zQ;_)t=Ep&n*4<#9UJHB|{KrmA!8&t^&Z8mky!Kt7ANt!;Q(cLPX6<90)ZQwe^4uM! z{?aY@x}v-7Oj)g~!!N(ZnkS*-#isZlR;$f5SwNw_MuCz&eQb62qLXGqgb~B2JwAc< zcXoqd_BX_oFN62imm}=wUEDpuvm*<%SAt@S+M!GF-=!gs-6%b9&$j))U}rX{KU}lz zqKLLRLpKS9px=tY{cVqh85sPa59%nMs-b1IQ@W|T9b%mvl5!C){am$yQ_2pH8?#cj zJp#|x=MPeThSfmG6;azBv1ih2U8Ej7Tbieuo0p%uDs$6Y+RYKK=OH~^Cp4b=?;CUF zC(#ZLG*5VN{!s8G`+TJS9S8Br#&-I8VP!nO0QIKSk7g3Orlu%V;l$ZQi$95n6YjoU&sPdkhsg2T@hvt|Vb@9rt*7PnaErmRu$@5j}&|K%MrAHXcj4R~6TRgwJZ$#ZWbPC|k2?z*>P($tYqlJ|p4)_ymy2?8ISHq| zHu(W)sZbm`9{c4#OfbD+@^IAa!#mk{Hu*KuY{;_EOUgctUPqj?Dg67sW4_Vo7^T^P zOkynYo{zmsz={%mgxCtj*CafzOzBjPmv~|r%w2f#rtVg(i(w-2m#=d~cB8BMDrH*G zh*B@cE;UuUm7*@vkkOXze9j63Q>LJM%j!Awe3OFp2P$|BbZm&;jnDT1E&TdSV2HsVT$aZa}yyzq^*yA;xr0 zb#Tc5OaqS0V#wP-q!!GBOjBPSqK|n{$5dYUn#zF9JVerbt_ym za3Zh~R2qku#Ld$`fsBtqmJDS%?zmhcRGuhqUxdsNaDPMRu}vP@gaj>r89@z_G~CqW zsw?8Jo#xcJ6NXD9NB1UPf>Ce_X$J7&V&d7}e-|mw$HC#5c zs#Seq04Pz!0LA1*M!HH$ex?bv1@R|TW6Z3U^>7pn7%F!_kR`eRZYo(vMHqUJbbyi&Kw7A-*#^`6V?#fobiUvlkf^U8A zm7|p(!3VxDu#R=u-FXzZSZtvFN|&D<=X8k0m2JAuxzcLXIePET?4Rc0^7+DD)h^h< zda7#Rq90%uj0j8;kTdL#_ik{(c)9GH=qR&GMpp5D*MD|xKaAV|rEe>{x12$Bi9C9d z+gPw_q4Jw*X@TLr{G`^2NEg4$8Fzv(p36O!X=&5Ft$^_B?if?w*`hXKbTnTmx8l{a zK~21j09yNd>q^(a3@JS4D2AL*r@75++Lbd(_)g&z+vfhHJp;pzxrv3DkzTbGu>&z2 zypXmaCJQDCB^l6GpKEE1${SNIuQ^pngRXfPnV~FG#5lc+TjKCdLlCUxkxxWB#_lH0 zASuU)X!mrbVg|>J_IY4q3Tc9%NlMq5PV+W$RaKej;QS`-)Y{xsR zxNMW_?v}Kwo9ZtQVZg1&3!hooLgf3YG$|)T>YB&4?PFWRyI8hGTKsztf~w78KQ=a> zjhtykXNWsIxFCNZj|<w?7MOJ zG_G_zT-ztgTJ|9orS2NucgykTHICan3@uc^F@A4XOweg*H=wi#U-!wseg$mmHd4w_Vso;TfugCP zG9O_tC+CV6^1#sS6_#nHQA&nw+RmU^)arLHtvd9R0e|0Jq7MYs2>P6BmF8CobzQc3 z68&1cRK0DSc{_Nw*7~mEo@(kh$d)=mv~I|8q~+y#@WvF!-|FFx&efA=-vpb!DbS^6 z>c0j40^jXg$DZ>>u*Mvi=M2e-3i~ zZvp=uDE%)?F7rs}^D z{@!{1F^B#l!pgrP{9ohf-`sz%A^-etVXObm{n6bj$w5H=c>(;#CGpW)o7Vri`#*h} Btt|im literal 0 HcmV?d00001 diff --git a/mobile/res/drawable-hdpi/ingress_iitc.png b/mobile/res/drawable-hdpi/ingress_iitc.png new file mode 100644 index 0000000000000000000000000000000000000000..8c469d3b5b81ec969700ac0d87e92732dd8f860a GIT binary patch literal 6950 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 s{gFaQ7m07*qoM6N<$f|jXnQ2+n{ literal 0 HcmV?d00001 diff --git a/mobile/res/drawable-mdpi/ingress_iitc.png b/mobile/res/drawable-mdpi/ingress_iitc.png new file mode 100644 index 0000000000000000000000000000000000000000..14b0f2d72ab8d72398f1657c0c40cce0ad604d8b GIT binary patch literal 3701 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 Ts(|^%00000NkvXXu0mjfIG_iU literal 0 HcmV?d00001 diff --git a/mobile/res/drawable-xhdpi/ingress_iitc.png b/mobile/res/drawable-xhdpi/ingress_iitc.png new file mode 100644 index 0000000000000000000000000000000000000000..30e261b21fd8998d87865e54c7e2815b0d81f571 GIT binary patch literal 10795 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 literal 0 HcmV?d00001 diff --git a/mobile/res/drawable-xxhdpi/ingress_iitc.png b/mobile/res/drawable-xxhdpi/ingress_iitc.png new file mode 100644 index 0000000000000000000000000000000000000000..e316caf7ea799b9e55b47ed71527e8b25931018c GIT binary patch literal 21093 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 z + \ No newline at end of file diff --git a/mobile/res/menu/main.xml b/mobile/res/menu/main.xml new file mode 100644 index 00000000..1ce11849 --- /dev/null +++ b/mobile/res/menu/main.xml @@ -0,0 +1,7 @@ +

+ + + \ No newline at end of file diff --git a/mobile/res/values-sw600dp/dimens.xml b/mobile/res/values-sw600dp/dimens.xml new file mode 100644 index 00000000..1ba777d6 --- /dev/null +++ b/mobile/res/values-sw600dp/dimens.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/mobile/res/values-sw720dp-land/dimens.xml b/mobile/res/values-sw720dp-land/dimens.xml new file mode 100644 index 00000000..eee741a5 --- /dev/null +++ b/mobile/res/values-sw720dp-land/dimens.xml @@ -0,0 +1,9 @@ + + + + 128dp + + \ No newline at end of file diff --git a/mobile/res/values-v11/styles.xml b/mobile/res/values-v11/styles.xml new file mode 100644 index 00000000..541752f6 --- /dev/null +++ b/mobile/res/values-v11/styles.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/mobile/res/values-v14/styles.xml b/mobile/res/values-v14/styles.xml new file mode 100644 index 00000000..f20e0150 --- /dev/null +++ b/mobile/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/mobile/res/values/dimens.xml b/mobile/res/values/dimens.xml new file mode 100644 index 00000000..a6dd1403 --- /dev/null +++ b/mobile/res/values/dimens.xml @@ -0,0 +1,7 @@ + + + + 16dp + 16dp + + \ No newline at end of file diff --git a/mobile/res/values/strings.xml b/mobile/res/values/strings.xml new file mode 100644 index 00000000..0a05e741 --- /dev/null +++ b/mobile/res/values/strings.xml @@ -0,0 +1,8 @@ + + + + IITC mobile + Settings + Reload IITC + + \ No newline at end of file diff --git a/mobile/res/values/styles.xml b/mobile/res/values/styles.xml new file mode 100644 index 00000000..4a10ca49 --- /dev/null +++ b/mobile/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java new file mode 100644 index 00000000..3e64f216 --- /dev/null +++ b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java @@ -0,0 +1,92 @@ +package com.cradle.iitc_mobile; + +import com.cradle.iitc_mobile.R; + +import android.os.Bundle; +import android.app.Activity; +import android.view.Menu; +import android.view.MenuItem; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnTouchListener; +import android.webkit.WebChromeClient; +import android.widget.Toast; + +public class IITC_Mobile extends Activity { + + private IITC_WebView iitc_view; + private boolean back_button_pressed = false; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + // we do not want to reload our page every time we switch orientations... + // so restore state if activity was already created + if(savedInstanceState != null) { + ((IITC_WebView)findViewById(R.id.webview)).restoreState(savedInstanceState); + } + else { + // load new iitc web view with ingress intel page + iitc_view= (IITC_WebView) findViewById(R.id.webview); + iitc_view.setWebChromeClient(new WebChromeClient()); + iitc_view.loadUrl("https://www.ingress.com/intel"); + + // listen to touches (think we need this) + iitc_view.setOnTouchListener(new OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + back_button_pressed = false; + // return false to indicate, that we don't consumed this event. this leads + // to the execution of our touch event + return false; + } + }); + } + + } + + // save instance state to avoid reloading on orientation change + @Override + protected void onSaveInstanceState(Bundle outState) { + iitc_view.saveState(outState); + } + + // we want a self defined behavior on resume + @Override + protected void onResume() { + super.onResume(); + this.back_button_pressed = false; + } + + // we want a self defined behavior for the back button + @Override + public void onBackPressed() { + if (this.back_button_pressed) { + super.onBackPressed(); + return; + } + this.back_button_pressed = true; + Toast.makeText(this, "Press twice to exit", Toast.LENGTH_SHORT).show(); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle item selection + switch (item.getItemId()) { + case R.id.reload_button: + iitc_view.reload(); + return true; + default: + return super.onOptionsItemSelected(item); + } + } +} diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_WebView.java b/mobile/src/com/cradle/iitc_mobile/IITC_WebView.java new file mode 100644 index 00000000..fcf4eb80 --- /dev/null +++ b/mobile/src/com/cradle/iitc_mobile/IITC_WebView.java @@ -0,0 +1,46 @@ +package com.cradle.iitc_mobile; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.util.AttributeSet; +import android.webkit.WebSettings; +import android.webkit.WebView; + +@SuppressLint("SetJavaScriptEnabled") +public class IITC_WebView extends WebView { + + private WebSettings settings; + private IITC_WebViewClient webclient; + + // init web view + private void iitc_init() { + settings = this.getSettings(); + settings.setJavaScriptEnabled(true); + settings.setDomStorageEnabled(true); + settings.setAllowFileAccess(true); + + webclient = new IITC_WebViewClient(); + this.setWebViewClient(webclient); + } + + // constructors ------------------------------------------------- + public IITC_WebView(Context context) { + super(context); + + iitc_init(); + } + + public IITC_WebView(Context context, AttributeSet attrs) { + super(context, attrs); + + iitc_init(); + } + + public IITC_WebView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + + iitc_init(); + } + //---------------------------------------------------------------- + +} diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_WebViewClient.java b/mobile/src/com/cradle/iitc_mobile/IITC_WebViewClient.java new file mode 100644 index 00000000..c984e2dc --- /dev/null +++ b/mobile/src/com/cradle/iitc_mobile/IITC_WebViewClient.java @@ -0,0 +1,37 @@ +package com.cradle.iitc_mobile; + +import android.net.http.SslError; +import android.util.Log; +import android.webkit.CookieManager; +import android.webkit.SslErrorHandler; +import android.webkit.WebView; +import android.webkit.WebViewClient; + +public class IITC_WebViewClient extends WebViewClient { + + // enable https + @Override + public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) { + handler.proceed() ; + }; + + // injecting IITC when page is loaded + @Override + public void onPageFinished(WebView web, String Url) { + Log.d("loading finish", web.getUrl()); + if (web.getUrl().contains("ingress.com/intel") && !web.getUrl().contains("accounts")) { + // first check for cookies, than inject javascript + // this enables the user to login if necessary + CookieManager cm = CookieManager.getInstance(); + final String cookie = cm.getCookie("https://www.ingress.com/intel"); + if(cookie != null) { + web.loadUrl("javascript: (function() { " + + "var script=document.createElement('script');" + + "script.type='text/javascript';" + + "script.src='https://iitcserv.appspot.com/iitc-nightly/iitc-nightly-latest.user.js';" + + "document.getElementsByTagName('head').item(0).appendChild(script);" + + "})()"); + } + } + } +} From 6a1b2fa7b12f979c4d2a94cd0cb3eabd7dd1a061 Mon Sep 17 00:00:00 2001 From: Stefan Breunig Date: Thu, 7 Mar 2013 12:26:44 +0100 Subject: [PATCH 2/6] Update README.md --- plugins/README.md | 29 ++++------------------------- 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/plugins/README.md b/plugins/README.md index 5cb122e5..f7e8b70a 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -1,30 +1,9 @@ -Plugins -======= +USER DOCUMENTATION MOVED! +========================= -Install -------- -Plugins are installed the same way the total conversion script is. Please see there for specific instructions for your browser. - - -Available Plugins ------------------ - -- [**Compute AP Stats**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/compute-ap-stats.user.js) Shows the potential AP an agent could obtain by destroying and rebuilding all the portals in the current zoom area. -- [**Draw Tools**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/draw-tools.user.js) allows to draw circles and lines on the map to aid you with planning your next big field. [View screenshot](http://breunigs.github.com/ingress-intel-total-conversion/screenshots/plugin_draw_tools.png) -- [**Guess Player Level**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/guess-player-levels.user.js) looks for the highest placed resonator per player in the current view to guess the player level. -- [**Highlight Weakened Portals**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/show-portal-weakness.user.js) fill portals with red to indicate portal's state of disrepair. The brighter the color the more attention needed (recharge, shields, resonators). A dashed portal means a resonator is missing. Red, needs energy and shields. Orange, only needs energy (either recharge or resonators). Yellow, only needs shields. -- [**Max-Links**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/max-links.user.js) Calculates how to link the portals to create the maximum number of fields. [View screenshot](http://breunigs.github.com/ingress-intel-total-conversion/screenshots/plugin_max_links.png) -- [**Player Tracker**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/player-tracker.user.js) Draws trails for user actions in the last hour. At the last known location there’s a tooltip that shows the data in a table. [View screenshot](http://breunigs.github.com/ingress-intel-total-conversion/screenshots/plugin_player_tracker.png). -- [**Render Limit Increase**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/render-limit-increase.user.js) increases render limits. Good for high density areas (e.g. London, UK) and faster PCs. -- [**Resonator Display Zoom Level Decrease**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/resonator-display-zoom-level-decrease.user.js) Resonator start displaying earlier. -- [**Resonator Energy in Portal Detail**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/reso-energy-pct-in-portal-detail.user.js) Resonator energy in percent is displayed in the portal detals. -- [**Scale Bar**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/scale-bar.user.js) Shows a scale bar in the top left corner. [View screenshot](http://breunigs.github.com/ingress-intel-total-conversion/screenshots/plugin_scale_bar.png) -- [**Show Portal Address**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/show-address.user.js) Shows portal address in the side panel. - -### available only with the development version - -[Read HACKING.md file](https://github.com/breunigs/ingress-intel-total-conversion/blob/gh-pages/HACKING.md#hacking) to learn how to build the development version yourself. If **and only if** [you have read how to report bugs](https://github.com/breunigs/ingress-intel-total-conversion/blob/gh-pages/HACKING.md#how-do-i-report-bugs), you may beta test the [nightly](https://www.dropbox.com/sh/lt9p0s40kt3cs6m/3xzpyiVBnF) version. +[The plugins list has been moved to the wiki. Please see there!](https://github.com/breunigs/ingress-intel-total-conversion/wiki/Plugins) +What follows is developer documentation only. From c350d6400b732220558bf3784dac056a0c558377 Mon Sep 17 00:00:00 2001 From: Stefan Breunig Date: Thu, 7 Mar 2013 12:28:59 +0100 Subject: [PATCH 3/6] Update USERGUIDE.md --- USERGUIDE.md | 167 +-------------------------------------------------- 1 file changed, 3 insertions(+), 164 deletions(-) diff --git a/USERGUIDE.md b/USERGUIDE.md index 2efc44b4..79b39dbd 100644 --- a/USERGUIDE.md +++ b/USERGUIDE.md @@ -1,165 +1,4 @@ -Userguide -========= +USER DOCUMENTATION MOVED +==== -table of contents: -- [Installation](#installation) -- [General Usage](#general-usage) -- [Chat](#chat) -- [Map Display](#map-display) -- [Map Status / Updates](#map-status--updates) -- [Sidebar](#sidebar) -- [Bugs and help requests](#reporting-bugs--i-need-more-help) -- [Nightly Builds](#nightly-builds) - - -Installation ------------- - -[See main README.md file for browser specific instructions](https://github.com/breunigs/ingress-intel-total-conversion#install). - - -General Usage -------------- - -- many things have more information in tooltips. Let your cursor rest over stuff to show the tooltip. *Hint:* your cursor changes into a question mark / help cursor if there’s a tooltip available. -- single left click on portals to show details. -- double left click on portals to zoom in to them. - - -Chat ----- - -The chat is split up into several categories. It usually only shows messages for the current map view. It may lag behind if Niantic’s servers are slow. It also has a minimum radius of six km. This means that even if you zoom in very much, it will still show messages from a larger area around you. - -**The chat categories are:** -- full: shows all automated messages *(23:57 \ destroyed an L3 Resonator on Two Spikes)* -- compact: shows only the latest automated message per user -- public: shows user generated public messages (both Enlightened and Resistance can read it) -- faction: shows messages for own faction (e.g. only Resistance can read Resistance messages) - -**Posting messages:** -- You can post in the faction and public categories only. -- Your message will be tagged with the coordinates in the center of the map. -- Your zoom level does not matter. Zooming out will not show your messages to more users. - - -Map Display ------------ - -You can customize many aspects of how the map is rendered in the layer chooser. - -**Layer Chooser:** -The layer chooser is available from the icon in the top right corner, left of the sidebar. The top entries are background maps and you can only have one of them active at a time. The entries on the bottom can be displayed in any combination you like. *Hint:* (NIGHLTY ONLY) Modifier-click an entry to quickly hide all other layers. The modifier may be either of these: shift, ctrl, alt, meta. Modifier-click the entry again to select all layers. - -**Background / Street Map / Base Layer:** -All these refer to the same thing. The base layer is stored across sessions. The default one uses OpenStreetMap data with a style that resembles the default Ingress one. There are other styles available. - -The layers from Google Maps are available as well. Google requires that their maps are only displayed with their tools. Therefore they cannot be as tightly integrated as the OpenStreetMap ones. That’s the reason why they lag behind when zooming or dragging the map. - -**Portals:** -You can filter portals by level. Select the ones you want to see in the layer chooser. If lower level portals are striked-through, this means you need to zoom in further to see them. This is a server limitation, not one in IITC. Your settings are discarded after a reload. - -**Resonators:** -Resonators are shown at their actual positions if you zoom in close enough. They become lighter the less energy they have left. They are color coded to show their level. - -**Fields / Links:** -They are handled the same way portals are, see above. - -**Other:** -When you select a portal its outer ring becomes red. There’s also a small yellow circle around it which depicts the hack range. You need to be in hack range to hack the portal or upgrade its resonators or mods. - -If you are zoomed out quite a bit, there’s a larger red circle. This is the link range. Only portals within this link range can be linked while standing at the selected portal. [Click the range in the sidebar to zoom to link range for the selected portal](#random-details). - -**Note** that plugins may also add themselves to the layer chooser. - - -Map Status / Updates --------------------- - -It shows if there are operations currently pending. This includes chat updates as well as map data requests. Updates happen every 45s to 90s, depending on how far zoomed in you are. Zoom in closer for faster updates. - -It also shows which portals are being loaded/shown. Zoom in to see lower level portals. This is a limit of both the server and IITC. The server will only send low level portals if zoomed in enough. IITC will only show low level portals if there are few enough to not hit the render limit. The render limit is required, otherwise the map would be veryslow. Portals levels that cannot be shown are also striked through in the layer chooser. - -**Failures:** If a data request failed, it is retried once. Only if the retry fails as well, a “failure” message is shown in the map status. You can either wait for the next automatic update or move the map a little. Also try to zoom in to request less data, which makes it less likely that the servers fail. The failure counter is reset on the next auto update or if you move the map. - -**Render Limit:** The script tries to stay responsive. If too much data needs to be rendered, this cannot be guaranteed. Instead it will simply stop drawing portals/links/fields and show “render limit” in the map status. Zoom in to solve this. - - - -Sidebar -------- - -The sidebar is mainly used to show game stats and portal details. However, it also allows you to perform certain actions. - -### General usage: -- single click a portal to show details about it in the sidebar. -- the portal information is updated automatically, as long as the selected portal is kept in view and you do not zoom out too much. -- the sidebar may be collapsed. Click the triangle button that stands out at the left hand side. -- the sidebar **can be scrolled** if your screen is too small. Use your scroll wheel. -- almost everything has tooltips. See [General usage](#general-usage) above. - -### Details: -Starting from the top, the sidebar shows this information: - -#### logged in user, global MU, search -- Details about you, the logged in user. This is only updated if you reload the page. This is a limitation of Ingress, not IITC. - - it shows your current level followed by your nickname - - hovering over your nickname allows you to sign out (NIGHTLY ONLY) - - to the right, it shows to percentages. The upper one, e.g. “XM: 37%” tells you how much your XM bar is filled. The lower one, e.g. “level: 37%“ tells you that you have gathered 37% of the AP required for the next level. It shows “max level” if you have reached max level. - - the tooltip mainly shows you absolute numbers instead of percentages. It also shows how many invites you have. -- The next bar is a visual representation of global MindUnits (MU) per faction. It is updated every now and then. The tooltip shows the absolute MU count per faction. -- Search Location: You can search for continents, countries, cities or street addresses. If there is at least one result your are taken to the most likely immediately. There is no feedback if the entered location was not found. Rule of thumb: if it takes longer than three seconds, try again. [Read about supported formats in the user guide for this service](https://wiki.openstreetmap.org/wiki/Nominatim). - - -#### Portal details. -- Portal name, may be abbreviated by the server if it’s too long. -- Portal image. Can be clicked to show the full image. The tooltip shows street address and postal code for the portal. It may also show attribution data for the portal image, if available. -- Portal level is located in the upper right corner and may overlay the image. - -- Portal mods are shown in right below the portal image. An empty box means that this slot is free and no mod is installed. Otherwise the name of the installed mod is displayed. The color depends on the rare-ness of the mod. Each slot has its own tooltip that shows mod specific details and who installed it. - -##### “random details” -“Random Details” are displayed in four columns. The outer ones show the data while the inner ones are the titles. - -- owner: who deployed the first resonator after it has been neutral/unclaimed. -- since: when was the first resonator deployed after it has been neutral/unclaimed. The reasonators decay every 24hrs from capture. Move the cursor over it to show the full date time. -- range: shows how far links made from this portal can be. Click on the value to zoom out to link range. The red circle shows how far links may reach. -- energy: shows current and maximum energy if fully charged. The tooltip contains the exact numbers. -- links: shows incoming and outgoing links. The tooltip explains the icons. -- reso dist: shows the average distance the resonators have to the portal. -- fields: how many fields are connected to this portal -- AP Gain: estimate of how many AP you gain if you take down this portal and deploy resonators of your own faction. Tooltip breaks this number down into parts. - -##### Resonators - -The nickname to the left and right show who deployed this resonator. The bars in the middle indicate the charge of each resonator. The color depends on the level, which is also shown in the bar. The tooltip repeats some of that data along with other details. The top left resonator is the north one, top right is north east and so on. They are roughly ordered like they appear on a normal map: -``` - N NE - NW E - W SE - SW S -``` - -#### portal related links - -- Portal link: use it show others a portal. IITC users will automatically zoomed to the location and shown portal details as soon as they’re available. Vanilla map users will only be zoomed to location. -- Report issue: redirects you to Niantic report issue page. Allows you to copy all required information before going there. -- poslinks: Shows you a QR-Code containing the geolocation of the portal as well as a link for Google Maps and Openstreetmap. If your QR-Code App supports GEO-codes (most do) you can scan it and pass the portal location directly to a routing-app. - -#### Redeeming, General Links and functions -- Redeem code: allows you to redeem codes to receive goodies. If you copied them from the Internet, they are probably invalid already. -- Toolbox: plugins may add links here. The default ones are: - - permalink. use it to show your current map view to others. Does not select a portal. Works with the normal intel map, too. - - IITC’s page. Visit our homepage. Be in awe. Drool. - - -Reporting Bugs / I need more help ---------------------------------- - -[Please read the “how do I report bugs” here](https://github.com/breunigs/ingress-intel-total-conversion/blob/gh-pages/HACKING.md#how-do-i-report-bugs). - - -Nightly Builds --------------- - -You can always find the latest nightly build under this URL: [https://iitcserv.appspot.com/iitc-nightly/iitc-nightly-latest.user.js](https://iitcserv.appspot.com/iitc-nightly/iitc-nightly-latest.user.js). Note that it does *not* update to nightly, but to the next release version instead. In other words, you are always lead back to main unless you manually install the nightly version each time. [You can find older nightly builds in the same folder](https://iitcserv.appspot.com/iitc-nightly/), which may be useful if you want to track down when something broke for you (called “bisecting”). +[All user documentation has been moved to the wiki. Please see there!](https://github.com/breunigs/ingress-intel-total-conversion/wiki/Userguide-(Main-Vanilla-IITC)) From 2c28e1dea1ba99d6a597e1febfa0da5813fd5233 Mon Sep 17 00:00:00 2001 From: Stefan Breunig Date: Thu, 7 Mar 2013 12:29:23 +0100 Subject: [PATCH 4/6] Update USERGUIDE.md --- USERGUIDE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/USERGUIDE.md b/USERGUIDE.md index 79b39dbd..21b09668 100644 --- a/USERGUIDE.md +++ b/USERGUIDE.md @@ -1,4 +1,4 @@ USER DOCUMENTATION MOVED ==== -[All user documentation has been moved to the wiki. Please see there!](https://github.com/breunigs/ingress-intel-total-conversion/wiki/Userguide-(Main-Vanilla-IITC)) +[All user documentation has been moved to the wiki. Please see there!](https://github.com/breunigs/ingress-intel-total-conversion/wiki/Userguide-\(Main-Vanilla-IITC\)) From f5115573532aa92ef89a7c958f4ccc447801cbd3 Mon Sep 17 00:00:00 2001 From: Stefan Breunig Date: Thu, 7 Mar 2013 12:50:10 +0100 Subject: [PATCH 5/6] Update README.md --- README.md | 94 +------------------------------------------------------ 1 file changed, 1 insertion(+), 93 deletions(-) diff --git a/README.md b/README.md index 2e7adc91..a6371b7d 100644 --- a/README.md +++ b/README.md @@ -1,99 +1,7 @@ ingress intel total conversion (IITC) ===================================== -It’s annoying to extend the intel page with new features because the minified code makes it hard to grasp what’s going on. Also, one has to play catch up each time Niantic put up a new version because all the variables might get new names. - -So instead, here’s a userscript that starts from scratch (click to zoom): - -[![Screenshot of the total conversion in Johannesburg](https://iitcserv.appspot.com/screenshots/screen_small.png)](https://iitcserv.appspot.com/screenshots/screen.png) - - -Features / User Guide ---------------------- - -You already know you want it, why add a feature list here? Instead, [**read the user guide** for tricks and less obvious features](https://github.com/breunigs/ingress-intel-total-conversion/tree/gh-pages/USERGUIDE.md). If you have questions, the user guide will also likely answer them. - -IITC can be [extended with the use of plugins](https://github.com/breunigs/ingress-intel-total-conversion/tree/gh-pages/plugins), so have a look at those if you want (or need) more. - - -Install -------- - -Current version is 0.7.8. [See NEWS.md for details](https://github.com/breunigs/ingress-intel-total-conversion/blob/gh-pages/NEWS.md). - -[**INSTALL**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/dist/total-conversion-build.user.js) - -### Firefox - -- Install [Greasemonkey](https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/) or [Scriptish](https://addons.mozilla.org/en-US/firefox/addon/scriptish/). -- Click install link: [install](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/dist/total-conversion-build.user.js) -- Confirm security question. -- Reload page. - -*NoScript:* To make the script work whitelist at least these domains: `ingress.com github.com leafletjs.com googleapis.com`. If you want to see the cool font also whitelist `googleusercontent.com`. - -### Chrome - -- Install [Tampermonkey](https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo/details). -- Click install link: [install](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/dist/total-conversion-build.user.js) -- **Now beware:** a OK/cancel dialog pops up. It **does not** allow you to cancel the installation. Choose **OK** to install the script with Tampermonkey. -- Confirm once again. -- Reload page. - -*Note:* Tampermonkey is optional. However, it offers auto-update, shows correct version numbers and installing user scripts is much easier. If you have installed the scripts directly into Chrome before, I recommend you switch to Tampermonkey. To do so, uninstall the IITC scripts and click each install link again. Follow the procedure explained above. - -### Opera -- Download the script: [download](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/dist/total-conversion-build.user.js) -- put it into your user_js folder (that’s `~/.opera/user_js` on Unix). If you can’t find it [see Opera’s docs](http://www.opera.com/docs/userjs/using/#writingscripts). -- [visit `opera:config` and check `UserJavaScriptonHTTPS` or click here to take you there](opera:config#UserPrefs|UserJavaScriptonHTTPS). -- click save on the bottom of the settings page -- reload the Intel Map, no need to restart Opera - -*Note*: You need to update the scripts manually. - - -[**INSTALL**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/dist/total-conversion-build.user.js) - -Reporting Issues ----------------- - -[tutorial / guide / please read / **free candy**](https://github.com/breunigs/ingress-intel-total-conversion/blob/gh-pages/HACKING.md#how-do-i-report-bugs) - - -How can I help? // Contribution -------------------------------- - -First of all, it’s very nice you want to help. There are several equally important ways you can. Some require a technical background and some don’t: -- **answering help requests:** often people are asking how to do specific things in bug reports or are asking for things that already exist. Kindly point them to what they’re looking for and maybe consider updating the user guide, if it lacks on that topic. -- **asking for more information:** Sometimes a bug report contains barely enough information to grasp what’s going on. Ask the reporter for the parts that you believe might be helpful, like the browser used. Similarily, if someone requests a feature make sure the description is accurate. Depending on the request, a concrete proposal on how to display this to the user might be helpful. -- **finding bugs / regressions:** If you are closer to the development of IITC, it’s usually easier for you to spot misbehaviours or bugs that have been recently introduces. Opening tickets for those, ideally with a step by step guide to reproduce the issue is very helpful. -- **hacking / sending patches:** Of course, if you want to contribute source code to the project that’s fine as well. Please [read HACKING.md for details](https://github.com/breunigs/ingress-intel-total-conversion/blob/gh-pages/HACKING.md). - -**So far, these people have contributed:** - -[Bananeweizen](https://github.com/Bananeweizen), -[blakjakau](https://github.com/blakjakau), -[boombuler](https://github.com/boombuler), -[cmrn](https://github.com/cmrn), -[epf](https://github.com/epf), -[Fragger](https://github.com/Fragger), -[integ3r](https://github.com/integ3r), -[j16sdiz](https://github.com/j16sdiz), -[JasonMillward](https://github.com/JasonMillward), -[jonatkins](https://github.com/jonatkins), -[Merovius](https://github.com/Merovius), -[mledoze](https://github.com/mledoze), -[OshiHidra](https://github.com/OshiHidra), -[phoenixsong6](https://github.com/phoenixsong6), -[Pirozek](https://github.com/Pirozek), -[saithis](https://github.com/saithis), -[Scrool](https://github.com/Scrool), -[sorgo](https://github.com/sorgo), -[tpenner](https://github.com/tpenner), -[vita10gy](https://github.com/vita10gy), -[Xelio](https://github.com/Xelio), -[ZauberNerd](https://github.com/ZauberNerd), -[waynn](https://github.com/waynn) +# [Documentation moved to the wiki. Please see there!](https://github.com/breunigs/ingress-intel-total-conversion/wiki#head) Attribution & License From 48625c29abc6415a9958b05f0f5119cfe054d7bb Mon Sep 17 00:00:00 2001 From: Stefan Breunig Date: Thu, 7 Mar 2013 13:04:35 +0100 Subject: [PATCH 6/6] Update README.md --- README.md | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/README.md b/README.md index a6371b7d..e903a89f 100644 --- a/README.md +++ b/README.md @@ -2,19 +2,3 @@ ingress intel total conversion (IITC) ===================================== # [Documentation moved to the wiki. Please see there!](https://github.com/breunigs/ingress-intel-total-conversion/wiki#head) - - -Attribution & License ---------------------- - -This project is licensed under the permissive ISC license. Parts imported from other projects remain under their respective licenses: - -- [autolink-js by Bryan Woods; MIT](https://github.com/bryanwoods/autolink-js) -- [load.js by Chris O'Hara; MIT](https://github.com/chriso/load.js) -- [leaflet.js; custom license (but appears free)](http://leafletjs.com/) -- [leaflet.draw.js; by jacobtoye; MIT](https://github.com/Leaflet/Leaflet.draw) -- [`leaflet_google.js` by Pavel Shramov; same as Leaftlet](https://github.com/shramov/leaflet-plugins) (modified, though) -- [jquery.qrcode.js by Jerome Etienne; MIT](https://github.com/jeromeetienne/jquery-qrcode) -- [oms.min.js by George MacKerron; MIT](https://github.com/jawj/OverlappingMarkerSpiderfier-Leaflet) -- StackOverflow-CopyPasta is attributed in the source; [CC-Wiki](https://creativecommons.org/licenses/by-sa/3.0/) -- all Ingress/Niantic related stuff obviously remains non-free and is still copyrighted by Niantic/Google