Permalink
Browse files

Functionality is awesome. including keys as well

  • Loading branch information...
1 parent 356aaa6 commit b2b3c77ae6e2088dc72ea4dd69ba89c89126da2b rj committed Mar 1, 2011
Showing with 288 additions and 40 deletions.
  1. +4 −2 .gitignore
  2. +11 −0 README
  3. +1 −0 TUIOService/.classpath
  4. +2 −0 TUIOService/.gitignore
  5. +20 −3 TUIOService/AndroidManifest.xml
  6. BIN TUIOService/assets/processing-core.jar
  7. BIN TUIOService/bin/TUIOService.apk
  8. BIN TUIOService/bin/classes.dex
  9. BIN TUIOService/bin/com/sigmusic/tacchi/tuio/TuioAndroidClient.class
  10. BIN TUIOService/bin/com/sigmusic/tacchi/tuio/TuioService.class
  11. BIN TUIOService/bin/com/sigmusic/tacchi/tuio/TuioTest.class
  12. BIN TUIOService/bin/resources.ap_
  13. +1 −1 TUIOService/src/com/sigmusic/tacchi/tuio/TuioAndroidClient.java
  14. +1 −0 TUIOService/src/com/sigmusic/tacchi/tuio/TuioService.java
  15. +49 −34 TUIOService/src/com/sigmusic/tacchi/tuio/TuioTest.java
  16. +42 −0 TUIOService/src/com/sigmusic/tacchi/tuio/TuioTestSimple.java
  17. BIN androidx86/froyo/TuioSign/TUIOService-Signed.apk
  18. BIN androidx86/froyo/TuioSign/TUIOService-Signed2.apk
  19. BIN androidx86/froyo/TuioSign/TUIOService.apk
  20. +34 −0 androidx86/froyo/TuioSign/security/README
  21. BIN androidx86/froyo/TuioSign/security/media.pk8
  22. +27 −0 androidx86/froyo/TuioSign/security/media.x509.pem
  23. BIN androidx86/froyo/TuioSign/security/platform.pk8
  24. +27 −0 androidx86/froyo/TuioSign/security/platform.x509.pem
  25. BIN androidx86/froyo/TuioSign/security/shared.pk8
  26. +27 −0 androidx86/froyo/TuioSign/security/shared.x509.pem
  27. BIN androidx86/froyo/TuioSign/security/testkey.pk8
  28. +27 −0 androidx86/froyo/TuioSign/security/testkey.x509.pem
  29. BIN androidx86/froyo/TuioSign/signapk.jar
  30. +15 −0 notes.txt
View
@@ -1,2 +1,4 @@
-TUIOService/bin/
-TUIOService/gen/
+TUIOService/bin
+TUIOService/bin/*
+TUIOService/gen
+TUIOService/gen/*
View
11 README
@@ -1,2 +1,13 @@
TUIO for Android-x86
+
An attempt to add native TUIO input support to the Android platform.
+
+
+
+quick tips:
+to get the emulator to listen to your port 3333:
+ telnet localhost 5554
+ redir add udp:3333:3333
+
+
+see http://stackoverflow.com/questions/3635101/how-to-sign-android-app-with-system-signature to sign app for system
View
@@ -4,5 +4,6 @@
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="lib" path="stub/classes"/>
+ <classpathentry kind="lib" path="assets/processing-core.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
View
@@ -0,0 +1,2 @@
+bin/
+gen/
@@ -2,19 +2,36 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sigmusic.tacchi.tuio"
android:versionCode="1"
- android:versionName="1.0">
+ android:versionName="1.0"
+ android:sharedUserId="android.uid.system">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
- <activity android:name=".TuioTest"
+ <activity android:name=".TuioTestSimple"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
+
+
<service android:name=".TuioService"
- android:process=":tuioservice" />
+ android:process=":tuioservice" >
+
+ <intent-filter>
+ <!-- These are the interfaces supported by the service, which
+ you can bind to. --><!--
+ <action android:name="com.sigmusic.tacchi.tuio.ITuioService" />
+ <action android:name="com.example.android.apis.app.ISecondary" />
+ --><!-- This is an action code you can use to select the service
+ without explicitly supplying the implementation class. -->
+ <action android:name="com.sigmusic.tacchi.tuio.TUIO_SERVICE" />
+ </intent-filter>
+
+
+ </service>
+
</application>
Binary file not shown.
Binary file not shown.
View
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -28,7 +28,7 @@ public TuioAndroidClient(TuioService callback, int width, int height) {
}
public void start() {
- Log.v(TAG, "Starting client");
+ Log.v(TAG, "Starting TUIO client on port:" +3333);
client.connect();
}
@@ -41,6 +41,7 @@ public void onCreate() {
Log.d( TAG, "WindowManager: "+wmbinder );
windowman = IWindowManager.Stub.asInterface( wmbinder );
+
}
public void sendMotionEvent(MotionEvent me) {
@@ -1,5 +1,6 @@
package com.sigmusic.tacchi.tuio;
+import processing.core.PApplet;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
@@ -14,51 +15,65 @@
import android.widget.Toast;
-public class TuioTest extends Activity implements OnTouchListener {
+public class TuioTest extends PApplet {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- View v = findViewById(R.id.mainview);
- v.setOnTouchListener(this);
doBindService();
}
- private TuioService mBoundService;
- private ServiceConnection mConnection = new ServiceConnection() {
- public void onServiceConnected(ComponentName className, IBinder service) {
- mBoundService = ((TuioService.LocalBinder)service).getService();
- // Tell the user about this for our demo.
- Toast.makeText(TuioTest.this,"Bound!",
- Toast.LENGTH_SHORT).show();
- Log.d("asff", "Service is bound!");
- mBoundService.startService(new Intent(TuioTest.this,
- TuioService.class));
+// private TuioService mBoundService;
+// private ServiceConnection mConnection = new ServiceConnection() {
+// public void onServiceConnected(ComponentName className, IBinder service) {
+// if (service instanceof TuioService.LocalBinder) {
+// mBoundService = ((TuioService.LocalBinder)service).getService();
+// // Tell the user about this for our demo.
+// Toast.makeText(TuioTest.this,"Bound!",
+// Toast.LENGTH_SHORT).show();
+// Log.d("asff", "Service is bound!");
+// mBoundService.startService(new Intent(TuioTest.this,
+// TuioService.class));
+// }
+// }
+//
+// public void onServiceDisconnected(ComponentName className) {
+// mBoundService = null;
+// Toast.makeText(TuioTest.this, "Disconnected",
+// Toast.LENGTH_SHORT).show();
+// }
+// };
- }
-
- public void onServiceDisconnected(ComponentName className) {
- mBoundService = null;
- Toast.makeText(TuioTest.this, "Disconnected",
- Toast.LENGTH_SHORT).show();
- }
- };
-
- boolean mIsBound = false;
+// boolean mIsBound = false;
void doBindService() {
- Log.d("asdf","Bound!");
-
- bindService(new Intent(TuioTest.this,
- TuioService.class), mConnection, Context.BIND_AUTO_CREATE);
- mIsBound = true;
+// Log.d("asdf","Bound!");
+//
+// bindService(new Intent(TuioTest.this,
+// TuioService.class), mConnection, Context.BIND_AUTO_CREATE);
+// mIsBound = true;
+ Intent service = new Intent("com.sigmusic.tacchi.tuio.TUIO_SERVICE");
+ startService(service);
+ }
+
+
+ float x = 0, y = 0;
+ public boolean surfaceTouchEvent(MotionEvent me) {
+ x = me.getX();
+ y = me.getY();
+ return true;
}
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- Log.d("TuioTest", "Recieved on touch event!! "+event);
- return true;
- }
+
+ public void draw() {
+ background(10,55,99);
+ rectMode(CENTER);
+ rect(x, y, 15, 15);
+ }
+
+
+
+
+
@@ -0,0 +1,42 @@
+package com.sigmusic.tacchi.tuio;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.View.OnTouchListener;
+
+
+public class TuioTestSimple extends Activity implements OnTouchListener {
+ /** Called when the activity is first created. */
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ this.setContentView(R.layout.main);
+ Intent service = new Intent("com.sigmusic.tacchi.tuio.TUIO_SERVICE");
+ startService(service);
+
+ View v = this.findViewById(R.id.mainview);
+ v.setOnTouchListener(this);
+
+
+
+ }
+
+
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ Log.d("TuioTest", "MotionEvent! "+event);
+ return true;
+ }
+
+
+
+
+
+
+
+
+}
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,34 @@
+The following commands were used to generate the test key pairs:
+
+ development/tools/make_key testkey '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com'
+ development/tools/make_key platform '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com'
+ development/tools/make_key shared '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com'
+ development/tools/make_key media '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com'
+
+The following standard test keys are currently included:
+
+testkey -- a generic key for packages that do not otherwise specify a key.
+platform -- a test key for packages that are part of the core platform.
+shared -- a test key for things that are shared in the home/contacts process.
+media -- a test key for packages that are part of the media/download system.
+
+These test keys are used strictly in development, and should never be assumed
+to convey any sort of validity. When $BUILD_SECURE=true, the code should not
+honor these keys in any context.
+
+
+signing using the openssl commandline (for boot/system images)
+--------------------------------------------------------------
+
+1. convert pk8 format key to pem format
+ % openssl pkcs8 -inform DER -nocrypt -in testkey.pk8 -out testkey.pem
+
+2. create a signature using the pem format key
+ % openssl dgst -binary -sha1 -sign testkey.pem FILE > FILE.sig
+
+extracting public keys for embedding
+------------------------------------
+it's a Java tool
+but it generates C code
+take a look at commands/recovery/Android.mk
+you'll see it running $(HOST_OUT_JAVA_LIBRARIES)/dumpkey.jar
Binary file not shown.
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEqDCCA5CgAwIBAgIJAPK5jmEjVyxOMA0GCSqGSIb3DQEBBAUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g
+VmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UE
+AxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0wODA0MTUyMzQwNTdaFw0zNTA5MDEyMzQwNTdaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4G
+A1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZI
+hvcNAQEBBQADggENADCCAQgCggEBAK4lDFoW75f8KGmsZRsyF8w2ug6GlkFo1YoE
+n0DOhYZxI6P/tPbZScM88to6BcI+rKpX2AOImxdZvPWefG8hiQriUIW37VaqYmwJ
+ie+czTY2LKDo0blgP9TYModnkmzMCQxot3Wuf/MJNMw2nvKFWiZn3wxmf9DHz12O
+umVYBnNzA7tiRybquu37cvB+16dqs8uaOBxLfc2AmxQNiR8AITvkAfWNagamHq3D
+qcLxxlZyhbCa4JNCpm+kIer5Ot91c6AowzHXBgGrOvfMhAM+znx3KjpbhrDb6dd3
+w6SKqYAe3O4ngVifRNnkETl5YAV2qZQQuoEJElna2YxsaP94S48CAQOjgfwwgfkw
+HQYDVR0OBBYEFMopPKqLwO0+VC7vQgWiv/K1fk11MIHJBgNVHSMEgcEwgb6AFMop
+PKqLwO0+VC7vQgWiv/K1fk11oYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UE
+CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMH
+QW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAG
+CSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJAPK5jmEjVyxOMAwGA1Ud
+EwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBAITelRbV5KhyF6c9qEhwSPUzc6X3
+M/OQ1hvfPMnlJRYlv8qnwxWcriddFyqa4eh21UWBJ6xUL2gpDdUQwAKdj1Hg7hVr
+e3tazbOUJBuOx4t05cQsXK+uFWyvW9GZojonUk2gct6743hGSlM2MLDk0P+34I7L
+cB+ttjecdEZ/bgDG7YiFlTgHkgOHVgB4csjjAHr0I6V6LKs6KChptkxLe9X8GH0K
+fiQVll1ark4Hpt91G0p16Xk8kYphK4HNC2KK7gFo3ETkexDTWTJghJ1q321yfcJE
+RMIh0/nsw2jK0HmZ8rgQW8HyDTjUEGbMFBHCV6lupDSfV0ZWVQfk6AIKGoE=
+-----END CERTIFICATE-----
Binary file not shown.
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEqDCCA5CgAwIBAgIJALOZgIbQVs/6MA0GCSqGSIb3DQEBBAUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g
+VmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UE
+AxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0wODA0MTUyMjQwNTBaFw0zNTA5MDEyMjQwNTBaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4G
+A1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZI
+hvcNAQEBBQADggENADCCAQgCggEBAJx4BZKsDV04HN6qZezIpgBuNkgMbXIHsSAR
+vlCGOqvitV0Amt9xRtbyICKAx81Ne9smJDuKgGwms0sTdSOkkmgiSQTcAUk+fArP
+GgXIdPabA3tgMJ2QdNJCgOFrrSqHNDYZUer3KkgtCbIEsYdeEqyYwap3PWgAuer9
+5W1Yvtjo2hb5o2AJnDeoNKbf7be2tEoEngeiafzPLFSW8s821k35CjuNjzSjuqtM
+9TNxqydxmzulh1StDFP8FOHbRdUeI0+76TybpO35zlQmE1DsU1YHv2mi/0qgfbX3
+6iANCabBtJ4hQC+J7RGQiTqrWpGA8VLoL4WkV1PPX8GQccXuyCcCAQOjgfwwgfkw
+HQYDVR0OBBYEFE/koLPdnLop9x1yh8Tnw48ghsKZMIHJBgNVHSMEgcEwgb6AFE/k
+oLPdnLop9x1yh8Tnw48ghsKZoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UE
+CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMH
+QW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAG
+CSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJALOZgIbQVs/6MAwGA1Ud
+EwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBAFclUbjZOh9z3g9tRp+G2tZwFAAp
+PIigzXzXeLc9r8wZf6t25iEuVsHHYc/EL9cz3lLFCuCIFM78CjtaGkNGBU2Cnx2C
+tCsgSL+ItdFJKe+F9g7dEtctVWV+IuPoXQTIMdYT0Zk4u4mCJH+jISVroS0dao+S
+6h2xw3Mxe6DAN/DRr/ZFrvIkl5+6bnoUvAJccbmBOM7z3fwFlhfPJIRc97QNY4L3
+J17XOElatuWTG5QhdlxJG3L7aOCA29tYwgKdNHyLMozkPvaosVUz7fvpib1qSN1L
+IC7alMarjdW4OZID2q4u1EYjLk/pvZYTlMYwDlE448/Shebk5INTjLixs1c=
+-----END CERTIFICATE-----
Binary file not shown.
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEqDCCA5CgAwIBAgIJAPKnM5a9OHZ6MA0GCSqGSIb3DQEBBAUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g
+VmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UE
+AxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0wODA3MjMyMTU3NTlaFw0zNTEyMDkyMTU3NTlaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4G
+A1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZI
+hvcNAQEBBQADggENADCCAQgCggEBAMjC2/0JSi30XD/xoy7SGAXscvxY0BeXG9D2
+tSwmLXCBnRkZZ+FY39Oix/Gz4OgM5UXXnShIIgIR64bw/YMS03tCDBE3UMyUYYro
+cvSIZGO9xGJ8qgwEg8hkk+NRVXEXAzi/3MTNat3RwKLzX1zyTtPkBDo+WOKwXmZM
+zeEry2dzX9bfEknDaeYlQrwKRynlORf1w4/6UtF7c8nHN5jdsY7UgVkIdVR+Zr/F
+2spMJabrlg7ZaSNwnaMCumRstJazJehsXIsuejN3srvkx88zJUKRFj9okVKsCIVQ
+yDxQj0v1rfCu1aLcoFg/mrCtF2UNt+6ksj/bRYhVR9D+q3IYOIkCAQOjgfwwgfkw
+HQYDVR0OBBYEFMtMfizbs/CtqY2reZaNFy6dux7RMIHJBgNVHSMEgcEwgb6AFMtM
+fizbs/CtqY2reZaNFy6dux7RoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UE
+CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMH
+QW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAG
+CSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJAPKnM5a9OHZ6MAwGA1Ud
+EwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBAECo0JaZeVnpF6NsRCRra6wrrgVD
+fs2JeUEY94NHIDUtHG+KObCGmUL02mWYH6opUdM5cRKewZIdeVZxxSfW4knyUoKf
+r1tZExAxHi3gllANVorUEUplbcNKjG9hBFOvwep5ktukqns/hUOm41wHKN53/pfu
+rIN3H9DskPjkRJQ07gtgRXg+cMei5GAkkmDgA892CNw1Kkye9wbe9LJgUOl4ri//
+16MyN4cBSRXrPMh0/MeprpMId8XIx9HC4qjuhjyJGA0YVc7bpADnukPMyqckPTl+
+fA6Ojk19T5K2u+rUnAzwGAae3coufi+0Zo2J2715UNDNJUGA+h6q/CpVb4Q=
+-----END CERTIFICATE-----
Binary file not shown.
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEqDCCA5CgAwIBAgIJAJNurL4H8gHfMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g
+VmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UE
+AxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0wODAyMjkwMTMzNDZaFw0zNTA3MTcwMTMzNDZaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4G
+A1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZI
+hvcNAQEBBQADggENADCCAQgCggEBANaTGQTexgskse3HYuDZ2CU+Ps1s6x3i/waM
+qOi8qM1r03hupwqnbOYOuw+ZNVn/2T53qUPn6D1LZLjk/qLT5lbx4meoG7+yMLV4
+wgRDvkxyGLhG9SEVhvA4oU6Jwr44f46+z4/Kw9oe4zDJ6pPQp8PcSvNQIg1QCAcy
+4ICXF+5qBTNZ5qaU7Cyz8oSgpGbIepTYOzEJOmc3Li9kEsBubULxWBjf/gOBzAzU
+RNps3cO4JFgZSAGzJWQTT7/emMkod0jb9WdqVA2BVMi7yge54kdVMxHEa5r3b97s
+zI5p58ii0I54JiCUP5lyfTwE/nKZHZnfm644oLIXf6MdW2r+6R8CAQOjgfwwgfkw
+HQYDVR0OBBYEFEhZAFY9JyxGrhGGBaR0GawJyowRMIHJBgNVHSMEgcEwgb6AFEhZ
+AFY9JyxGrhGGBaR0GawJyowRoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UE
+CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMH
+QW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAG
+CSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJAJNurL4H8gHfMAwGA1Ud
+EwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHqvlozrUMRBBVEY0NqrrwFbinZa
+J6cVosK0TyIUFf/azgMJWr+kLfcHCHJsIGnlw27drgQAvilFLAhLwn62oX6snb4Y
+LCBOsVMR9FXYJLZW2+TcIkCRLXWG/oiVHQGo/rWuWkJgU134NDEFJCJGjDbiLCpe
++ZTWHdcwauTJ9pUbo8EvHRkU3cYfGmLaLfgn9gP+pWA7LFQNvXwBnDa6sppCccEX
+31I828XzgXpJ4O+mDL1/dBd+ek8ZPUP0IgdyZm5MTYPhvVqGCHzzTy3sIeJFymwr
+sBbmg2OAUNLEMO6nwmocSdN2ClirfxqCzJOLSDE4QyS9BAH6EhY6UFcOaE0=
+-----END CERTIFICATE-----
Binary file not shown.
Oops, something went wrong.

0 comments on commit b2b3c77

Please sign in to comment.