diff --git a/bigbluebutton-apps/.gitignore b/bigbluebutton-apps/.gitignore
index b5e1da6d65a69f96bd806e85c16455dcd56be854..4afda0aec1a55653f9d79d40da20c4e7902ef7f1 100644
--- a/bigbluebutton-apps/.gitignore
+++ b/bigbluebutton-apps/.gitignore
@@ -6,3 +6,4 @@ lib
 .scala_dependencies
 .manager
 .gradle
+bin
diff --git a/bigbluebutton-client/resources/bbb-deskshare-applet-0.64.jar b/bigbluebutton-client/resources/bbb-deskshare-applet-0.64.jar
new file mode 100644
index 0000000000000000000000000000000000000000..721f0bae524c56453e638e7c24b9b85909b3b155
Binary files /dev/null and b/bigbluebutton-client/resources/bbb-deskshare-applet-0.64.jar differ
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml
index bcaf97db509939b3c88aa7fc47fdbf46630c5545..05f744f15c85d1ab0ee0c4e6dd9fa1d85d625b43 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml
@@ -53,11 +53,6 @@
 				/* Set up full screen handler. */
 				Application.application.stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenHandler);
 				dispState = Application.application.stage.displayState;
-				
-				/*var r:ResourceBundle = new ResourceBundle("fr_FR", "core");
-				r.content["truncationIndicator"] = '...';
-				resourceManager.addResourceBundle(r);
-				resourceManager.update();*/
 			}
 			
 			private function fullScreenHandler(evt:FullScreenEvent):void {
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/managers/DeskshareManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/managers/DeskshareManager.as
index 458f2c918c0a1846951f2e69face6d4335bbec9f..eca31a40f85afde787dfafea3cae7931e4862486 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/managers/DeskshareManager.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/managers/DeskshareManager.as
@@ -151,6 +151,7 @@ package org.bigbluebutton.modules.deskshare.managers
 			LogUtil.debug("opening desk share window");
 			shareWindow = new DesktopPublishWindow();
 			shareWindow.initWindow(service.getConnection(), module.getCaptureServerUri(), module.getRoom());
+			shareWindow.visible = false;
 			openWindow(shareWindow);
 		}
 		
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
index 3421bbd96ee1bca5a1b42d1ea8104b436f956366..3fdbd44c704215ccbc67e6ed0e26e3aba6bade2f 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
@@ -36,9 +36,10 @@
 	<mate:Listener type="{MadePresenterEvent.SWITCH_TO_PRESENTER_MODE}" method="onChangedPresenter" />
 	<mate:Listener type="{MadePresenterEvent.SWITCH_TO_VIEWER_MODE}" method="onChangedPresenter" />	
 	<mate:Listener type="{CursorEvent.UPDATE_CURSOR_LOC_EVENT}" method="onUpdateCursorEvent" />
+	<mate:Listener type="{ViewStreamEvent.STOP}" method="closePublishWindow" />
+	
 	<mx:Script>
 		<![CDATA[
-			import org.bigbluebutton.common.LogUtil;
 			import com.asfusion.mate.events.Dispatcher;
 			
 			import flexlib.mdi.events.MDIWindowEvent;
@@ -46,6 +47,7 @@
 			import mx.core.UIComponent;
 			
 			import org.bigbluebutton.common.Images;
+			import org.bigbluebutton.common.LogUtil;
 			import org.bigbluebutton.main.events.BBBEvent;
 			import org.bigbluebutton.main.events.MadePresenterEvent;
 			import org.bigbluebutton.main.views.MainCanvas;
@@ -53,6 +55,7 @@
 			import org.bigbluebutton.modules.deskshare.events.CursorEvent;
 			import org.bigbluebutton.modules.deskshare.events.ShareWindowEvent;
 			import org.bigbluebutton.modules.deskshare.events.StreamEvent;
+			import org.bigbluebutton.modules.deskshare.events.ViewStreamEvent;
 			import org.bigbluebutton.util.i18n.ResourceUtil;
 			
 			public static const SCALE:Number = 5;
@@ -159,7 +162,8 @@
 			private function onAppletStart(event:AppletStartedEvent):void{
 				LogUtil.debug("DeskShareWindow::onAppletStart");
 				startStream(connection, room);
-				
+				captureWidth = event.videoWidth;
+				captureHeight = event.videoHeight;
 				var streamEvent:StreamEvent = new StreamEvent(StreamEvent.START);
 				streamEvent.videoWidth = captureWidth;
 				streamEvent.videoHeight = captureHeight;
@@ -241,6 +245,10 @@
 				this.title = ResourceUtil.getInstance().getString('bbb.desktopPublish.title');
 			}
 			
+			private function closePublishWindow(event:ViewStreamEvent):void{
+				close();
+			}
+			
 		]]>
 	</mx:Script>
 	<mx:Image id="cursorImg" visible="false" source="@Embed('../../assets/images/cursor4.png')"/>
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml
index 62651b5aacc1b00364a4c9a84f3231e30c370a79..0283c5d6cd4c967681fef792b6e5713d0daa161c 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml
@@ -38,7 +38,6 @@
 		
 	<mx:Script>
 		<![CDATA[
-			import org.bigbluebutton.common.LogUtil;
 			import com.asfusion.mate.events.Dispatcher;
 			
 			import flash.sampler.NewObjectSample;
@@ -49,6 +48,7 @@
 			import mx.core.UIComponent;
 			
 			import org.bigbluebutton.common.Images;
+			import org.bigbluebutton.common.LogUtil;
 			import org.bigbluebutton.main.api.IUserListener;
 			import org.bigbluebutton.main.api.UserManager;
 			import org.bigbluebutton.main.model.User;
@@ -159,6 +159,7 @@
 			}
 			
 			public function startVideo(connection:NetConnection, stream:String, width:Number, height:Number):void{
+				Alert.show("" + width + "x" + height);
 				this.videoWidth = width;
 				this.videoHeight = height;
 				
diff --git a/deskshare/applet/build/.gitignore b/deskshare/applet/build/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java
index e0192797fceefbbfb7df5b51e162648392c79771..641c76ccbb08ee59b8f60faec0714ee2d1a2bbf8 100755
--- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java
+++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java
@@ -22,6 +22,8 @@ package org.bigbluebutton.deskshare.client;
 import java.applet.Applet;
 import java.awt.Image;
 
+import org.bigbluebutton.deskshare.client.frame.RecordingAppletFrame;
+
 public class DeskShareApplet extends Applet implements ClientListener {
 	private static final long serialVersionUID = 1L;
 
@@ -40,25 +42,38 @@ public class DeskShareApplet extends Applet implements ClientListener {
     DeskshareClient client;
     Image icon;
     
+    private RecordingAppletFrame raf;
+    public boolean isSharing = false;
+    
 	public void init() {
+		raf = new RecordingAppletFrame(5);
+		raf.setHeight(300);
+		raf.setWidth(600);
+		raf.centerOnScreen();
+		raf.setVisible(true);
+		raf.setApplet(this);
+		
 		hostValue = getParameter("IP");
 		String port = getParameter("PORT");
 		if (port != null) portValue = Integer.parseInt(port);
 		roomValue = getParameter("ROOM");
-		cWidthValue = Integer.parseInt(getParameter("CAPTURE_WIDTH"));
-		cHeightValue = Integer.parseInt(getParameter("CAPTURE_HEIGHT"));				
-		xValue = Integer.parseInt(getParameter("X"));
-		yValue = Integer.parseInt(getParameter("Y"));
+		//cWidthValue = Integer.parseInt(getParameter("CAPTURE_WIDTH"));
+		//cHeightValue = Integer.parseInt(getParameter("CAPTURE_HEIGHT"));				
+		//xValue = Integer.parseInt(getParameter("X"));
+		//yValue = Integer.parseInt(getParameter("Y"));
+		
+		cWidthValue = raf.getWidth();
+		cHeightValue = raf.getHeight();
+		xValue = raf.getX();
+		yValue = raf.getY();
 		
 		sWidthValue = cWidthValue;
-		String scaleWidth = getParameter("SCALE_WIDTH");
-		if (scaleWidth != null) {
-			sWidthValue = Integer.parseInt(scaleWidth);
-		} 
+		//String scaleWidth = getParameter("SCALE_WIDTH");
+		//if (scaleWidth != null) sWidthValue = Integer.parseInt(scaleWidth);
 		
 		sHeightValue = cHeightValue;
-		String scaleHeight = getParameter("SCALE_HEIGHT");
-		if (scaleHeight != null) sHeightValue = Integer.parseInt(scaleHeight);
+		//String scaleHeight = getParameter("SCALE_HEIGHT");
+		//if (scaleHeight != null) sHeightValue = Integer.parseInt(scaleHeight);
 		
 		String qualityCapture = getParameter("SCALE_WITH_QUALITY");
 		if (qualityCapture != null) qualityValue = Boolean.parseBoolean(qualityCapture);
@@ -72,14 +87,44 @@ public class DeskShareApplet extends Applet implements ClientListener {
 	}
 		
 	public void start() {		 
-		System.out.println("Start");	
+		/*System.out.println("Start");	
+		client = new DeskshareClient.Builder().host(hostValue).port(portValue)
+							.room(roomValue).captureWidth(cWidthValue)
+							.captureHeight(cHeightValue).scaleWidth(sWidthValue).scaleHeight(sHeightValue)
+							.quality(qualityValue).aspectRatio(aspectRatioValue)
+							.x(xValue).y(yValue)
+							.httpTunnel(tunnelValue).trayIcon(icon).enableTrayIconActions(false).build();
+		client.start();*/
+		//raf.setDimensionsListener(client);
+	}
+	
+	public void setDimensions(int X, int Y, int width, int height){
+		cWidthValue = width;
+		cHeightValue = height;
+		xValue = X;
+		yValue = Y;
+		sWidthValue = width;
+		sHeightValue = height;
+	}
+	
+	public void setScreenCoordinates(int X, int Y){
+		if (client != null) client.setScreenCoordinates(X, Y);
+	}
+	
+	public void startSharing(){
+		System.out.println("Start Sharing");	
 		client = new DeskshareClient.Builder().host(hostValue).port(portValue)
 							.room(roomValue).captureWidth(cWidthValue)
 							.captureHeight(cHeightValue).scaleWidth(sWidthValue).scaleHeight(sHeightValue)
 							.quality(qualityValue).aspectRatio(aspectRatioValue)
 							.x(xValue).y(yValue)
 							.httpTunnel(tunnelValue).trayIcon(icon).enableTrayIconActions(false).build();
+		raf.setDimensionsListener(this);
+		isSharing = true;
 		client.start();
+		
+		raf.btnStartStop.setLabel("Stop Sharing");
+		raf.removeResizeListeners();
 	}
 
 		
@@ -101,4 +146,5 @@ public class DeskShareApplet extends Applet implements ClientListener {
 	public void onClientStop(ExitCode reason) {
 		stop();
 	}
+	
 }
diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskshareClient.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskshareClient.java
index a542882e84cc1a193b540f87fd00680b2dec97ae..8c663696479809cbecd33099a8e182361d4f97ce 100755
--- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskshareClient.java
+++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskshareClient.java
@@ -32,7 +32,7 @@ import org.bigbluebutton.deskshare.client.net.NetworkStreamSender;
 import org.bigbluebutton.deskshare.common.Dimension;
 import org.bigbluebutton.deskshare.client.net.ConnectionException;
 
-class DeskshareClient implements IScreenCaptureListener, ChangedBlocksListener, SystemTrayListener, 
+public class DeskshareClient implements IScreenCaptureListener, ChangedBlocksListener, SystemTrayListener, 
 			MouseLocationListener, NetworkConnectionListener {
 	private static final String LICENSE_HEADER = "This program is free software: you can redistribute it and/or modify\n" +
 	"it under the terms of the GNU Lesser General Public License as published by\n" +
@@ -99,7 +99,7 @@ class DeskshareClient implements IScreenCaptureListener, ChangedBlocksListener,
 		
 		capture = new ScreenCapture(x, y, captureWidth, captureHeight, scaleWidth, scaleHeight, quality);
 		captureTaker = new ScreenCaptureTaker(capture);
-		mTaker = new MouseLocationTaker(captureWidth, captureHeight, scaleWidth, scaleHeight);
+		mTaker = new MouseLocationTaker(captureWidth, captureHeight, scaleWidth, scaleHeight, x, y);
 		
 		// Use the scaleWidth and scaleHeight as the dimension we pass to the BlockManager.
 		// If there is no scaling required, the scaleWidth and scaleHeight will be the same as 
@@ -169,6 +169,12 @@ class DeskshareClient implements IScreenCaptureListener, ChangedBlocksListener,
 	public void setScreenCoordinates(int x, int y) {
 		capture.setX(x);
 		capture.setY(y);
+		mTaker.setCaptureCoordinates(x, y);
+	}
+	
+	public void setScreenDimensions(int width, int height){
+		capture.setWidth(width);
+		capture.setHeight(height);
 	}
 	
 	public void onScreenCaptured(BufferedImage screen) {
diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/MouseLocationTaker.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/MouseLocationTaker.java
index 33dcabee8de03c3ea0cd9be05b002a5621cf67c8..ece7db628bc27fffda8ae9e48e1aec822fda28cf 100755
--- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/MouseLocationTaker.java
+++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/MouseLocationTaker.java
@@ -33,11 +33,17 @@ public class MouseLocationTaker implements Runnable {
 	private int scaleWidth;
 	private int scaleHeight;
 	
-	public MouseLocationTaker(int captureWidth, int captureHeight, int scaleWidth, int scaleHeight) {
+	private int captureX;
+	private int captureY;
+	
+	public MouseLocationTaker(int captureWidth, int captureHeight, int scaleWidth, int scaleHeight, int captureX, int captureY) {
 		this.captureWidth = captureWidth;
 		this.captureHeight = captureHeight;
 		this.scaleWidth = scaleWidth;
 		this.scaleHeight = scaleHeight;
+		
+		this.captureX = captureX;
+		this.captureY = captureY;
 	}
 	
 	public Point getMouseLocation() {
@@ -57,7 +63,8 @@ public class MouseLocationTaker implements Runnable {
 		if (adjustPointerLocationDueToScaling()) {			
 			pointerLocation = calculatePointerLocation(pInfo.getLocation());
 		} else {
-			pointerLocation = pInfo.getLocation();
+			//pointerLocation = pInfo.getLocation();
+			pointerLocation = calculatePointerLocation(pInfo.getLocation());
 		}
 		return pointerLocation;		
 	}
@@ -65,6 +72,10 @@ public class MouseLocationTaker implements Runnable {
 	private Point calculatePointerLocation(Point p) {
 		double mx = ((double)p.x/(double)captureWidth) * (double)scaleWidth;
 		double my = ((double)p.y/(double)captureHeight) * (double)scaleHeight;
+		
+		mx = mx - captureX;
+		my = my - captureY;
+		
 		return new Point((int)mx, (int)my);
 	}
 	
@@ -99,4 +110,9 @@ public class MouseLocationTaker implements Runnable {
 	public void stop() {
 		trackMouseLocation = false;
 	}
+	
+	public void setCaptureCoordinates(int x, int y){
+		captureX = x;
+		captureY = y;
+	}
 }
diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/ScreenCapture.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/ScreenCapture.java
index 2409240c1c2e0eaeabccbb948f784843909a9ea0..e508f399214afdd6471313bf989f673a8f14576b 100755
--- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/ScreenCapture.java
+++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/ScreenCapture.java
@@ -94,6 +94,16 @@ public class ScreenCapture {
 		updateBounds();
 	}
 	
+	public void setWidth(int width) {
+		this.captureWidth = width;
+		updateBounds();
+	}
+	
+	public void setHeight(int height) {
+		this.captureHeight = height;
+		updateBounds();
+	}
+	
 	public void updateBounds() {
 		this.screenBounds = new Rectangle(x, y, captureWidth, captureHeight);
 	}
diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/Corner.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/Corner.java
new file mode 100755
index 0000000000000000000000000000000000000000..37e20903d3fa71c20c8527700d76036245e98528
--- /dev/null
+++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/Corner.java
@@ -0,0 +1,25 @@
+/*
+ * BigBlueButton - http://www.bigbluebutton.org
+ * 
+ * Copyright (c) 2008-2010 by respective authors (see below). All rights reserved.
+ * 
+ * BigBlueButton is free software; you can redistribute it and/or modify it under the 
+ * terms of the GNU Lesser General Public License as published by the Free Software 
+ * Foundation; either version 3 of the License, or (at your option) any later 
+ * version. 
+ * 
+ * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public License along 
+ * with BigBlueButton; if not, If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @author Jeremy Thomerson <jthomerson@genericconf.com>
+ * $Id: $
+ */
+package org.bigbluebutton.deskshare.client.frame;
+
+public enum Corner {
+	NORTHWEST, NORTHEAST, SOUTHEAST, SOUTHWEST
+}
diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.java
new file mode 100755
index 0000000000000000000000000000000000000000..93a339ab2229149e41eb980c090695fd74cc5073
--- /dev/null
+++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.java
@@ -0,0 +1,118 @@
+/*
+ * BigBlueButton - http://www.bigbluebutton.org
+ * 
+ * Copyright (c) 2008-2010 by respective authors (see below). All rights reserved.
+ * 
+ * BigBlueButton is free software; you can redistribute it and/or modify it under the 
+ * terms of the GNU Lesser General Public License as published by the Free Software 
+ * Foundation; either version 3 of the License, or (at your option) any later 
+ * version. 
+ * 
+ * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public License along 
+ * with BigBlueButton; if not, If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @author Jeremy Thomerson <jthomerson@genericconf.com>
+ * $Id: $
+ */
+package org.bigbluebutton.deskshare.client.frame;
+
+import java.awt.AWTException;
+import java.awt.Button;
+import java.awt.FlowLayout;
+import java.awt.Robot;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+
+import javax.imageio.ImageIO;
+import javax.swing.JPanel;
+
+import org.bigbluebutton.deskshare.client.DeskShareApplet;
+
+public class RecordingAppletFrame extends WindowlessFrame {
+	private static final long serialVersionUID = 1L;
+
+	private final Robot mRobot;
+	private DeskShareApplet applet;
+	public Button btnStartStop;
+
+	public RecordingAppletFrame(int borderWidth) {
+		super(borderWidth);
+		setToolbar(createToolbar());
+
+		try {
+			mRobot = new Robot();
+		} catch(AWTException ex) {
+			throw new RuntimeException("could not initialize the robot: " + ex.getMessage(), ex);
+		}
+	}
+	
+	private JPanel createToolbar() {
+		final JPanel panel = new JPanel();
+		panel.setLayout(new FlowLayout());
+		//final Button move = new Button("Move frame");
+		final MouseAdapter moving = createMovingMouseListener();
+		//move.addMouseListener(moving);
+		//move.addMouseMotionListener(moving);
+		//panel.add(move);
+		btnStartStop = new Button("Start Capture");
+		btnStartStop.addActionListener(new ActionListener() {
+			@Override
+			public void actionPerformed(ActionEvent e) {
+				//captureSelectedArea();
+				startCapture();
+			}
+		});
+		panel.add(btnStartStop);
+		//panel.setSize();
+		return panel;
+	}
+
+	public final void captureSelectedArea() {
+		final BufferedImage image = mRobot.createScreenCapture(getFramedRectangle());
+		try {
+		    File outputfile = File.createTempFile("screencap-", ".png");
+		    ImageIO.write(image, "png", outputfile);
+		    System.out.println("selected area captured to: " + outputfile.getAbsolutePath());
+		} catch (IOException ioe) {
+			throw new RuntimeException("could not capture selected area as an image: " + ioe.getMessage(), ioe);
+		}
+	}
+	
+	public final void startCapture(){
+		if (!applet.isSharing){
+			applet.setDimensions(getX(), getY(), getWidth(), getHeight());
+			applet.startSharing();
+		} else{
+			applet.stop();
+			applet.destroy();
+			System.exit(0); //Can't find any other way to close the applet.
+		}
+		
+	}
+	
+	public void setApplet(DeskShareApplet applet){
+		this.applet = applet;
+	}
+
+	public static void main(String[] args) {
+		/*
+		final JFrame frame = new JFrame("test");
+		frame.setContentPane(createToolbar());
+		frame.pack();
+		frame.setVisible(true);
+		*/
+		final RecordingAppletFrame raf = new RecordingAppletFrame(5);
+		raf.setHeight(300);
+		raf.setWidth(600);
+		raf.centerOnScreen();
+		raf.setVisible(true);
+	}
+}
diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.java
new file mode 100755
index 0000000000000000000000000000000000000000..fdac5580cb0305df28528041bf7e3dd775531d63
--- /dev/null
+++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.java
@@ -0,0 +1,541 @@
+/*
+ * BigBlueButton - http://www.bigbluebutton.org
+ * 
+ * Copyright (c) 2008-2010 by respective authors (see below). All rights reserved.
+ * 
+ * BigBlueButton is free software; you can redistribute it and/or modify it under the 
+ * terms of the GNU Lesser General Public License as published by the Free Software 
+ * Foundation; either version 3 of the License, or (at your option) any later 
+ * version. 
+ * 
+ * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public License along 
+ * with BigBlueButton; if not, If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @author Jeremy Thomerson <jthomerson@genericconf.com>
+ * $Id: $
+ */
+package org.bigbluebutton.deskshare.client.frame;
+
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Cursor;
+import java.awt.Dimension;
+import java.awt.Frame;
+import java.awt.GradientPaint;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.GraphicsDevice;
+import java.awt.GraphicsEnvironment;
+import java.awt.Insets;
+import java.awt.Point;
+import java.awt.Rectangle;
+import java.awt.Toolkit;
+import java.awt.Window;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowListener;
+import java.io.Serializable;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+
+import org.bigbluebutton.deskshare.client.DeskShareApplet;
+import org.bigbluebutton.deskshare.client.DeskshareClient;
+
+
+public class WindowlessFrame implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	private DeskShareApplet dimensionsListener;
+	private MouseAdapter resizingAdapter;
+	private MouseAdapter movingAdapter;
+	
+	private static interface PropertyChanger {
+		void changeOn(Component component);
+	}
+	
+	private static interface LocationAndSizeUpdateable {
+		void updateLocationAndSize();
+	}
+	
+	private static interface OffsetLocator {
+		int getLeftOffset();
+		int getTopOffset();
+	}
+
+	private static class StaticOffsetLocator implements OffsetLocator {
+		private final int mLeftOffset;
+		private final int mTopOffset;
+
+		public StaticOffsetLocator(int left, int top) {
+			mLeftOffset = left;
+			mTopOffset = top;
+		}
+
+		@Override
+		public int getLeftOffset() {
+			return mLeftOffset;
+		}
+
+		@Override
+		public int getTopOffset() {
+			return mTopOffset;
+		}
+	}
+
+	private static final PropertyChanger REPAINTER = new PropertyChanger() {
+		@Override
+		public void changeOn(Component component) {
+			if (component instanceof LocationAndSizeUpdateable) {
+				((LocationAndSizeUpdateable) component).updateLocationAndSize();
+			}
+			component.repaint();
+		}
+	};
+	
+	
+	// properties that change during use
+	private Point mTopLeft = new Point();
+	private Dimension mOverallSize = new Dimension();
+
+	// properties initialized during construction
+	private final BasicStroke mBorderStroke = new BasicStroke(5, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 0, new float[] { 12, 12 }, 0);
+	private final GradientPaint mGradient = new GradientPaint(0.0f, 0.0f, Color.red, 1.0f, 1.0f, Color.white, true);
+
+	private final int mBorderWidth;
+	private final JFrame mWindowFrame;
+	private final BarFrame mTopBorder;
+	private final BarFrame mRightBorder;
+	private final BarFrame mBottomBorder;
+	private final BarFrame mLeftBorder;
+	private ToolbarFrame mToolbarFrame;
+
+	private class ToolbarFrame extends Window implements LocationAndSizeUpdateable {
+		private static final long serialVersionUID = 1L;
+
+		private final OffsetLocator mOffsetLocator;
+		
+		public ToolbarFrame(JFrame frame, OffsetLocator ol, JPanel content) {
+			super(frame);
+			super.setAlwaysOnTop(true);
+			frame.setAlwaysOnTop(true);
+			mOffsetLocator = ol;
+			//setUndecorated(true);
+			add(content);
+			pack();
+		}
+
+		public void updateLocationAndSize() {
+			setLocation(getLocation());
+		}
+		
+		@Override
+		public Point getLocation() {
+			return new Point(mTopLeft.x + mOffsetLocator.getLeftOffset(), mTopLeft.y + mOffsetLocator.getTopOffset());
+		}
+	}
+	
+	private class WindowlessFrameMovingMouseListener extends MouseAdapter {
+		
+		private AtomicBoolean mMoving = new AtomicBoolean(false);
+		
+		private Point mActionOffset = null;
+
+		@Override
+		public void mouseDragged(MouseEvent e) {
+			final int changeInX = e.getLocationOnScreen().x - mActionOffset.x - mTopLeft.x;
+			final int changeInY = e.getLocationOnScreen().y - mActionOffset.y - mTopLeft.y;
+			if (mMoving.get() && !e.isConsumed()) {
+				WindowlessFrame.this.setLocation(changeInX + mTopLeft.x, changeInY + mTopLeft.y);
+			}
+		}
+		
+		@Override
+		public void mousePressed(MouseEvent e) {
+			final Point mouse = e.getLocationOnScreen();
+			mActionOffset = new Point(mouse.x - mTopLeft.x, mouse.y - mTopLeft.y);
+			mMoving.set(true);
+			e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
+		}
+		
+		@Override
+		public void mouseReleased(MouseEvent e) {
+			mMoving.set(false);
+			mActionOffset = null;
+			e.getComponent().setCursor(Cursor.getDefaultCursor());
+		}
+
+	}
+	
+	private class WindowlessFrameResizingMouseListener extends MouseAdapter {
+		
+		private static final int CORNER_SIZE = 15;
+		
+		private AtomicBoolean mResizing = new AtomicBoolean(false);
+		
+		private Point mActionOffset = null;
+		private Dimension mOriginalSize = null;
+		private Corner mCorner;
+
+		@Override
+		public void mouseDragged(MouseEvent e) {
+			final int changeInX = e.getLocationOnScreen().x - mActionOffset.x - mTopLeft.x;
+			final int changeInY = e.getLocationOnScreen().y - mActionOffset.y - mTopLeft.y;
+			if (mResizing.get()) {
+				int newH = mOriginalSize.height;
+				int newW = mOriginalSize.width;
+				if (mCorner == Corner.SOUTHEAST) {
+					newH += changeInY;
+					newW += changeInX;
+				} else if (mCorner == Corner.NORTHEAST) {
+					mTopLeft.y = mTopLeft.y + changeInY;
+					newH = mOverallSize.height + -changeInY;
+					newW += changeInX;
+				} else if (mCorner == Corner.NORTHWEST) {
+					mTopLeft.y = mTopLeft.y + changeInY;
+					newH = mOverallSize.height + -changeInY;
+					mTopLeft.x = mTopLeft.x + changeInX;
+					newW = mOverallSize.width + -changeInX;
+				} else if (mCorner == Corner.SOUTHWEST) {
+					newH += changeInY;
+					mTopLeft.x = mTopLeft.x + changeInX;
+					newW = mOverallSize.width + -changeInX;
+				}
+				//System.out.println("orig size: " + mOriginalSize + ", newH: " + newH + ", newW: " + newW + ", X: " + changeInX + ", Y: " + changeInY);
+				WindowlessFrame.this.setSize(newH, newW);
+				e.consume();
+			}
+		}
+		
+		@Override
+		public void mousePressed(MouseEvent e) {
+			final Point mouse = e.getLocationOnScreen();
+			mActionOffset = new Point(mouse.x - mTopLeft.x, mouse.y - mTopLeft.y);
+			mOriginalSize = new Dimension(mOverallSize);
+			mCorner = nearCorner(mouse);
+			if (mCorner != null) {
+				mResizing.set(true);
+			}
+		}
+		
+		@Override
+		public void mouseReleased(MouseEvent e) {
+			mResizing.set(false);
+			mActionOffset = null;
+			mOriginalSize = null;
+			mCorner = null;
+		}
+
+		private Corner nearCorner(Point mouse) {
+			if (isNearBottomRightCorner(mouse)) {
+				return Corner.SOUTHEAST;
+			} else if (isNearTopRightCorner(mouse)) {
+				return Corner.NORTHEAST;
+			} else if (isNearTopLeftCorner(mouse)) {
+				return Corner.NORTHWEST;
+			} else if (isNearBottomLeftCorner(mouse)) {
+				return Corner.SOUTHWEST;
+			}
+			return null;
+		}
+
+		private boolean isNearBottomRightCorner(Point mouse) {
+			int xToBotLeft = Math.abs(mTopLeft.x + (int) mOverallSize.getWidth() - mouse.x);
+			int yToBotLeft = Math.abs(mTopLeft.y + (int) mOverallSize.getHeight() - mouse.y);
+			return xToBotLeft < CORNER_SIZE && yToBotLeft < CORNER_SIZE;
+		}
+
+		private boolean isNearTopRightCorner(Point mouse) {
+			int xToTopRight = Math.abs(mTopLeft.x + (int) mOverallSize.getWidth() - mouse.x);
+			int yToTopRight = Math.abs(mTopLeft.y - mouse.y);
+			return xToTopRight < CORNER_SIZE && yToTopRight < CORNER_SIZE;
+		}
+
+		private boolean isNearBottomLeftCorner(Point mouse) {
+			int xToBottomLeft = Math.abs(mTopLeft.x - mouse.x);
+			int yToBottomLeft = Math.abs(mTopLeft.y + (int) mOverallSize.getHeight() - mouse.y);
+			return xToBottomLeft < CORNER_SIZE && yToBottomLeft < CORNER_SIZE;
+		}
+
+		private boolean isNearTopLeftCorner(Point mouse) {
+			int xToTopLeft = Math.abs(mTopLeft.x - mouse.x);
+			int yToTopLeft = Math.abs(mTopLeft.y - mouse.y);
+			return xToTopLeft < CORNER_SIZE && yToTopLeft < CORNER_SIZE;
+		}
+
+		@Override
+		public void mouseMoved(MouseEvent e) {
+			final Point mouse = e.getLocationOnScreen();
+			if (isNearTopLeftCorner(mouse)) {
+				e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.NW_RESIZE_CURSOR));
+			} else if (isNearBottomLeftCorner(mouse)) {
+				e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.SW_RESIZE_CURSOR));
+			} else if (isNearTopRightCorner(mouse)) {
+				e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.NE_RESIZE_CURSOR));
+			} else if (isNearBottomRightCorner(mouse)) {
+				e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.SE_RESIZE_CURSOR));
+			} else {
+				e.getComponent().setCursor(Cursor.getDefaultCursor());
+			}
+		}
+	}
+	
+	private class BarFrame extends Window implements LocationAndSizeUpdateable {
+		private static final long serialVersionUID = 1L;
+
+		private final OffsetLocator mOffsetLocator;
+		
+		public BarFrame(Frame frame, OffsetLocator offsetLocator) {
+			super(frame);
+			mOffsetLocator = offsetLocator;
+			//setUndecorated(true);
+		}
+
+		@Override
+		public void paint(Graphics g) {
+			if (shouldPaintRectangle()) {
+				Graphics2D g2 = (Graphics2D) g;
+				g2.setStroke(mBorderStroke);
+				g2.setPaint(mGradient);
+				g2.drawRect(0, 0, getWidth(), getHeight());
+			} else {
+				super.paint(g);
+			}
+		}
+
+		protected boolean shouldPaintRectangle() {
+			return true;
+		}
+
+		public void updateLocationAndSize() {
+			setSize(getWidth(), getHeight());
+			setLocation(getLocation());
+		}
+		
+		@Override
+		public Point getLocation() {
+			return new Point(mTopLeft.x + mOffsetLocator.getLeftOffset(), mTopLeft.y + mOffsetLocator.getTopOffset());
+		}
+		
+		@Override
+		public int getHeight() {
+			return mBorderWidth;
+		}
+		
+		@Override
+		public int getWidth() {
+			return mOverallSize.width;
+		}
+	}
+	
+	private class HorizontalBarFrame extends BarFrame {
+		private static final long serialVersionUID = 1L;
+		
+		public HorizontalBarFrame(JFrame frame, OffsetLocator offsetLocator) {
+			super(frame, offsetLocator);
+			super.setAlwaysOnTop(true);
+		}
+	}
+	
+	private class VerticalBarFrame extends BarFrame {
+		private static final long serialVersionUID = 1L;
+		
+		public VerticalBarFrame(JFrame frame, OffsetLocator offsetLocator) {
+			super(frame, offsetLocator);
+			super.setAlwaysOnTop(true);
+		}
+		
+		@Override
+		public int getWidth() {
+			return mBorderWidth;
+		}
+		
+		@Override
+		public int getHeight() {
+			return mOverallSize.height;
+		}
+	}
+	
+	public WindowlessFrame(int borderWidth) {
+		mBorderWidth = borderWidth;
+
+		mWindowFrame = new JFrame("Windowless Frame");
+		//mWindowFrame.setAlwaysOnTop(true);
+		
+		mTopBorder = new HorizontalBarFrame(mWindowFrame, new StaticOffsetLocator(0, 0));
+		mBottomBorder = new HorizontalBarFrame(mWindowFrame, new OffsetLocator() {
+			
+			@Override
+			public int getTopOffset() {
+				return mOverallSize.height;
+			}
+			
+			@Override
+			public int getLeftOffset() {
+				return 0;
+			}
+		});
+		
+		mRightBorder = new VerticalBarFrame(mWindowFrame, new OffsetLocator() {
+			
+			@Override
+			public int getTopOffset() {
+				return 0;
+			}
+			
+			@Override
+			public int getLeftOffset() {
+				return mOverallSize.width;
+			}
+		});
+		mLeftBorder = new VerticalBarFrame(mWindowFrame, new StaticOffsetLocator(0, 0));
+		
+		movingAdapter = createMovingMouseListener();
+		resizingAdapter = createResizingMouseListener();
+		changeBarFrames(new PropertyChanger() {
+			@Override
+			public void changeOn(Component component) {
+				component.addMouseListener(resizingAdapter);
+				component.addMouseMotionListener(resizingAdapter);
+				component.addMouseListener(movingAdapter);
+				component.addMouseMotionListener(movingAdapter);
+			}
+		}, false);
+	}
+	
+	public final MouseAdapter createMovingMouseListener() {
+		return new WindowlessFrameMovingMouseListener();
+	}
+
+	public final MouseAdapter createResizingMouseListener() {
+		return new WindowlessFrameResizingMouseListener();
+	}
+
+	public void setToolbar(JPanel toolbar) {
+		final OffsetLocator toolbarOffsetLocator = new OffsetLocator() {
+			@Override
+			public int getTopOffset() {
+				return mOverallSize.height + mBorderWidth;
+			}
+			
+			@Override
+			public int getLeftOffset() {
+				return 0;
+			}
+		};
+		mToolbarFrame = new ToolbarFrame(mWindowFrame, toolbarOffsetLocator, toolbar);
+	}
+	
+	public final void setSize(int height, int width) {
+		setHeight(height);
+		setWidth(width);
+		repaint();
+	}
+
+	public final void setWidth(int width) {
+		mOverallSize.width = width;
+	}
+	
+	public final void setHeight(int height) {
+		mOverallSize.height = height;
+	}
+	
+	public final void setLocation(int x, int y) {
+		mTopLeft.x = x;
+		mTopLeft.y = y;
+		repaint();
+		
+		if (dimensionsListener != null) dimensionsListener.setScreenCoordinates(x, y);
+	}
+	
+	public final int getX(){
+		return mTopLeft.x;
+	}
+	
+	public final int getY(){
+		return mTopLeft.y;
+	}
+	
+	public final int getWidth(){
+		return mOverallSize.width;
+	}
+	
+	public final int getHeight(){
+		return mOverallSize.height;
+	}
+	
+	public final void centerOnScreen() {
+        Toolkit kit = mLeftBorder.getToolkit();
+        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
+        GraphicsDevice[] gs = ge.getScreenDevices();
+        Insets in = kit.getScreenInsets(gs[0].getDefaultConfiguration());
+        
+        Dimension d = kit.getScreenSize();
+        int maxWidth = (d.width - in.left - in.right);
+        int maxHeight = (d.height - in.top - in.bottom);
+        setLocation((int) (maxWidth - mOverallSize.width) / 2, (int) (maxHeight - mOverallSize.height) / 2);
+	}
+	
+	public final Rectangle getFramedRectangle() {
+		return new Rectangle(mTopLeft.x + mBorderWidth, mTopLeft.y + mBorderWidth, mOverallSize.width - mBorderWidth, mOverallSize.height - mBorderWidth);
+	}
+
+	public final void setVisible(final boolean b) {
+		changeAll(new PropertyChanger() {
+			@Override
+			public void changeOn(Component component) {
+				component.setVisible(b);
+			}
+		}, true);
+	}
+	
+	private void changeBarFrames(PropertyChanger pc, boolean repaint) {
+		pc.changeOn(mTopBorder);
+		pc.changeOn(mRightBorder);
+		pc.changeOn(mBottomBorder);
+		pc.changeOn(mLeftBorder);
+		if (repaint) {
+			repaint();
+		}
+	}
+
+	private void changeAll(PropertyChanger pc, boolean repaint) {
+		pc.changeOn(mToolbarFrame);
+		changeBarFrames(pc, repaint);
+	}
+
+	public final void repaint() {
+		changeAll(REPAINTER, false);
+	}
+
+	public static void main(String[] args) {
+		final WindowlessFrame wf = new WindowlessFrame(5);
+		wf.setHeight(300);
+		wf.setWidth(600);
+		wf.setLocation(100, 200);
+		wf.setVisible(true);
+	}
+	
+	public void setDimensionsListener(DeskShareApplet applet){
+		this.dimensionsListener = applet;
+	}
+	
+	public void removeResizeListeners(){
+		mRightBorder.removeMouseListener(resizingAdapter);
+		mRightBorder.removeMouseMotionListener(resizingAdapter);
+		mLeftBorder.removeMouseListener(resizingAdapter);
+		mLeftBorder.removeMouseMotionListener(resizingAdapter);
+		mTopBorder.removeMouseListener(resizingAdapter);
+		mTopBorder.removeMouseMotionListener(resizingAdapter);
+		mBottomBorder.removeMouseListener(resizingAdapter);
+		mBottomBorder.removeMouseMotionListener(resizingAdapter);
+	}
+
+}
diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.java
index 1cfa6fb614e452f7237efa434612e2ec96f5ff9d..4f5a044d848a359a4bd91097620cd067cd7990b9 100755
--- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.java
+++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.java
@@ -75,6 +75,7 @@ public class NetworkSocketStreamSender implements Runnable {
 		try {
 			ByteArrayOutputStream dataToSend = new ByteArrayOutputStream();
 			dataToSend.reset();
+			System.out.println("Screen Dimension " + screenDim.getWidth() + "," + screenDim.getHeight());
 			BlockStreamProtocolEncoder.encodeStartStreamMessage(room, screenDim, blockDim, dataToSend);
 			sendHeader(BlockStreamProtocolEncoder.encodeHeaderAndLength(dataToSend));
 			sendToStream(dataToSend);
diff --git a/deskshare/build/com/myjavatools/web/ClientHttpRequest.class b/deskshare/build/com/myjavatools/web/ClientHttpRequest.class
new file mode 100755
index 0000000000000000000000000000000000000000..bf4a1874b1d8ba6f822194f411676af6c6309cef
Binary files /dev/null and b/deskshare/build/com/myjavatools/web/ClientHttpRequest.class differ
diff --git a/deskshare/build/jargs/gnu/CmdLineParser$IllegalOptionValueException.class b/deskshare/build/jargs/gnu/CmdLineParser$IllegalOptionValueException.class
new file mode 100755
index 0000000000000000000000000000000000000000..7cc296a9fcd7d18ca25a8999747ef6128c469661
Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$IllegalOptionValueException.class differ
diff --git a/deskshare/build/jargs/gnu/CmdLineParser$NotFlagException.class b/deskshare/build/jargs/gnu/CmdLineParser$NotFlagException.class
new file mode 100755
index 0000000000000000000000000000000000000000..b11fb2f9dcce1a709a97fb97b1ca701b0764825d
Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$NotFlagException.class differ
diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$BooleanOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$BooleanOption.class
new file mode 100755
index 0000000000000000000000000000000000000000..4bb08f9ef8cd5fe13f02282e4edbbeb59cfb5774
Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$Option$BooleanOption.class differ
diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$DoubleOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$DoubleOption.class
new file mode 100755
index 0000000000000000000000000000000000000000..a77b5166c31058babb6915e80f98a32b23335098
Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$Option$DoubleOption.class differ
diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$IntegerOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$IntegerOption.class
new file mode 100755
index 0000000000000000000000000000000000000000..06309601e6dbeb9baa10aded3c82fc52082ed629
Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$Option$IntegerOption.class differ
diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$LongOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$LongOption.class
new file mode 100755
index 0000000000000000000000000000000000000000..5d0cbd88f1a25987641e5d68255985e7fbf5d753
Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$Option$LongOption.class differ
diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$StringOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$StringOption.class
new file mode 100755
index 0000000000000000000000000000000000000000..3d8575ed13e044d97da3dc87721ce682ef3ce68a
Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$Option$StringOption.class differ
diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option.class b/deskshare/build/jargs/gnu/CmdLineParser$Option.class
new file mode 100755
index 0000000000000000000000000000000000000000..2575b65f65d57823ddeb83b3dc55f0fb2a2138e5
Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$Option.class differ
diff --git a/deskshare/build/jargs/gnu/CmdLineParser$OptionException.class b/deskshare/build/jargs/gnu/CmdLineParser$OptionException.class
new file mode 100755
index 0000000000000000000000000000000000000000..f9dc005e46336e7ffcd7a5864d786ff34449e65a
Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$OptionException.class differ
diff --git a/deskshare/build/jargs/gnu/CmdLineParser$UnknownOptionException.class b/deskshare/build/jargs/gnu/CmdLineParser$UnknownOptionException.class
new file mode 100755
index 0000000000000000000000000000000000000000..eda6d9836efc126b9976078cec35b016665dcb31
Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$UnknownOptionException.class differ
diff --git a/deskshare/build/jargs/gnu/CmdLineParser$UnknownSuboptionException.class b/deskshare/build/jargs/gnu/CmdLineParser$UnknownSuboptionException.class
new file mode 100755
index 0000000000000000000000000000000000000000..9ad28762fa0df9a4e4c43248912d61d3330a7261
Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$UnknownSuboptionException.class differ
diff --git a/deskshare/build/jargs/gnu/CmdLineParser.class b/deskshare/build/jargs/gnu/CmdLineParser.class
new file mode 100755
index 0000000000000000000000000000000000000000..ddf1addec95237e991c9e075ebf3cb7ef4252488
Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser.class differ
diff --git a/deskshare/build/java.policy.applet b/deskshare/build/java.policy.applet
new file mode 100755
index 0000000000000000000000000000000000000000..35527af6a077ba39ecfb64295b4fa45706928941
--- /dev/null
+++ b/deskshare/build/java.policy.applet
@@ -0,0 +1,7 @@
+/* AUTOMATICALLY GENERATED ON Tue Apr 16 17:20:59 EDT 2002*/
+/* DO NOT EDIT */
+
+grant {
+  permission java.security.AllPermission;
+};
+
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/ClientListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/ClientListener.class
new file mode 100755
index 0000000000000000000000000000000000000000..dd87fb4c20e1a6388be6fe564c3df4a38dbbf79e
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/ClientListener.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskShareApplet.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskShareApplet.class
new file mode 100755
index 0000000000000000000000000000000000000000..0cf58bba808b6e3046002fe3a56d60f944c650b6
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskShareApplet.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient$Builder.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient$Builder.class
new file mode 100755
index 0000000000000000000000000000000000000000..8dfd0eb2dacc0953100e851c0cecd1edd2557d98
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient$Builder.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient.class
new file mode 100755
index 0000000000000000000000000000000000000000..e65f8bb9e566a57502fcd619d596816e46855556
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareMain.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareMain.class
new file mode 100755
index 0000000000000000000000000000000000000000..7454159aa8eb771deca11579eaf407286fb657d1
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareMain.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareShell.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareShell.class
new file mode 100755
index 0000000000000000000000000000000000000000..f8710897a6fdde0ff823799d1a1713abed79228d
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareShell.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$1.class
new file mode 100755
index 0000000000000000000000000000000000000000..af2eed827a9ec7cb843bf9074b5ce6f14c0c8a67
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$1.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$StopSharingListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$StopSharingListener.class
new file mode 100755
index 0000000000000000000000000000000000000000..f6429a7f12c1b84bb49796e5745f25e4180146dd
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$StopSharingListener.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray.class
new file mode 100755
index 0000000000000000000000000000000000000000..9f8c25312ed28b6f612bddf5ccf06064d429f1ba
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/ExitCode.class b/deskshare/build/org/bigbluebutton/deskshare/client/ExitCode.class
new file mode 100755
index 0000000000000000000000000000000000000000..42d4d103e4d51c05c0d1683c3e9825cb1065fea6
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/ExitCode.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/FlvFileWriter.class b/deskshare/build/org/bigbluebutton/deskshare/client/FlvFileWriter.class
new file mode 100755
index 0000000000000000000000000000000000000000..ee60a2fca0896684bc8167f181b7a19732d3efc3
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/FlvFileWriter.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/IScreenCaptureListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/IScreenCaptureListener.class
new file mode 100755
index 0000000000000000000000000000000000000000..5c5ec56a6e6f657417fe1b7ff7e091fd69f09595
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/IScreenCaptureListener.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine$LifeLineServer.class b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine$LifeLineServer.class
new file mode 100755
index 0000000000000000000000000000000000000000..a84c07ef6712a575f7924dcc9727e7a48136aaf9
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine$LifeLineServer.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine.class b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine.class
new file mode 100755
index 0000000000000000000000000000000000000000..e34d763034429ba3bce487858f0d4f29132df38a
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/LifeLineListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLineListener.class
new file mode 100755
index 0000000000000000000000000000000000000000..b9b3c8e6f107da3fae049fff9e7cb54d315f51be
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLineListener.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationListener.class
new file mode 100755
index 0000000000000000000000000000000000000000..779905cd6d9c805836e85d7d654f55fb84b340fa
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationListener.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationTaker.class b/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationTaker.class
new file mode 100755
index 0000000000000000000000000000000000000000..a891783c4eaa21c3588185769e29f77278171c77
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationTaker.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCapture.class b/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCapture.class
new file mode 100755
index 0000000000000000000000000000000000000000..1e1804d67a21066e7ba73b81155bc511e070bff1
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCapture.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCaptureTaker.class b/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCaptureTaker.class
new file mode 100755
index 0000000000000000000000000000000000000000..8bb5c638658537cd224db2349cd11d83658df9f6
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCaptureTaker.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/SystemTrayListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/SystemTrayListener.class
new file mode 100755
index 0000000000000000000000000000000000000000..0368f82bd12739eab5a8da01c9d6888de5f0939e
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/SystemTrayListener.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/TestLifeline.class b/deskshare/build/org/bigbluebutton/deskshare/client/TestLifeline.class
new file mode 100755
index 0000000000000000000000000000000000000000..9440dd8a4dade371f8742d206867264ac282c96c
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/TestLifeline.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/Block.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/Block.class
new file mode 100755
index 0000000000000000000000000000000000000000..17a95848511bde00f00ac716e930236698d797ef
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/Block.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockFactory.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockFactory.class
new file mode 100755
index 0000000000000000000000000000000000000000..c130f98c94173b0e65a913bb8189776ffd8442ef
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockFactory.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockManager.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockManager.class
new file mode 100755
index 0000000000000000000000000000000000000000..619aaceb82aea35c2cb47c893cb0d4ce47526d54
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockManager.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/ChangedBlocksListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/ChangedBlocksListener.class
new file mode 100755
index 0000000000000000000000000000000000000000..36adcafca12c06272544aef4418caf40e7463ab2
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/ChangedBlocksListener.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/IBlock.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/IBlock.class
new file mode 100755
index 0000000000000000000000000000000000000000..ef3ce55e722e3d9257202ff74b0215b1e602015b
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/IBlock.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encode/ScreenVideoFlvEncoderTest.class b/deskshare/build/org/bigbluebutton/deskshare/client/encode/ScreenVideoFlvEncoderTest.class
new file mode 100755
index 0000000000000000000000000000000000000000..0f5830b7ccc436bbcd2455220646a20095682ce2
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/encode/ScreenVideoFlvEncoderTest.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/BlockEncodeException.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/BlockEncodeException.class
new file mode 100755
index 0000000000000000000000000000000000000000..3eecd79f3bcc15d74e210469ea7d9d785adb45ab
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/BlockEncodeException.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/FlvEncodeException.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/FlvEncodeException.class
new file mode 100755
index 0000000000000000000000000000000000000000..89bd443dd119f072b5d40593db8ba0523c699515
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/FlvEncodeException.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoBlockEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoBlockEncoder.class
new file mode 100755
index 0000000000000000000000000000000000000000..42e2581f8c33f6652c882f19a022d8a48286c6b6
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoBlockEncoder.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoder.class
new file mode 100755
index 0000000000000000000000000000000000000000..26e053fa58f66cd99f111f279a3b30ea3ec4de3a
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoder.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoderTest.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoderTest.class
new file mode 100755
index 0000000000000000000000000000000000000000..a092501187b4942392cce922a5e11295e83da8e7
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoderTest.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/Corner.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/Corner.class
new file mode 100755
index 0000000000000000000000000000000000000000..64b5d86389b20259acd3662478a0713eca72a3e7
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/Corner.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame$1.class
new file mode 100755
index 0000000000000000000000000000000000000000..cc7a5d6af54f222c7ea8264b1f2f31eb26457fcd
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame$1.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.class
new file mode 100755
index 0000000000000000000000000000000000000000..d525f8102936d07baf97300428258af205a19e39
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$1.class
new file mode 100755
index 0000000000000000000000000000000000000000..2219d90d6e83efc87f587c46c1489b6cebac9bbb
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$1.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$2.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$2.class
new file mode 100755
index 0000000000000000000000000000000000000000..e2f8f890d98056763908e7be374f1581e8cc88f7
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$2.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$3.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$3.class
new file mode 100755
index 0000000000000000000000000000000000000000..7e1a46a28aca39bce7080a4ff5f74df62f5f5aef
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$3.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$4.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$4.class
new file mode 100755
index 0000000000000000000000000000000000000000..2749905ac5832a77aa8042219a2499574888b1a3
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$4.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$5.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$5.class
new file mode 100755
index 0000000000000000000000000000000000000000..834bed64ac9db80bbdff2032e11e6e71424393dc
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$5.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$6.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$6.class
new file mode 100755
index 0000000000000000000000000000000000000000..fba7c2315962605aafbae6e97eb87c1f6189aeaa
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$6.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$BarFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$BarFrame.class
new file mode 100755
index 0000000000000000000000000000000000000000..ea50a39a360999307a98f82af5ce7b4174b72134
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$BarFrame.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$HorizontalBarFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$HorizontalBarFrame.class
new file mode 100755
index 0000000000000000000000000000000000000000..170796c6d3d77ffb9186cc06228ebd4cd0f7a68f
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$HorizontalBarFrame.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$LocationAndSizeUpdateable.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$LocationAndSizeUpdateable.class
new file mode 100755
index 0000000000000000000000000000000000000000..5ba58bec650f7da4e1edee41ede4f27d0da6a97c
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$LocationAndSizeUpdateable.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$OffsetLocator.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$OffsetLocator.class
new file mode 100755
index 0000000000000000000000000000000000000000..9416af2f0b08fae26c3e57382b8477b2b7004543
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$OffsetLocator.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$PropertyChanger.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$PropertyChanger.class
new file mode 100755
index 0000000000000000000000000000000000000000..6b0e3136edab16f01b90dfa653bee79f0e05b08c
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$PropertyChanger.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$StaticOffsetLocator.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$StaticOffsetLocator.class
new file mode 100755
index 0000000000000000000000000000000000000000..74c0f73bb2e6dbc5e80e9545340a8c0cbd971012
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$StaticOffsetLocator.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$ToolbarFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$ToolbarFrame.class
new file mode 100755
index 0000000000000000000000000000000000000000..4cf672155568bf9b130d7d3895915e86f1563d96
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$ToolbarFrame.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$VerticalBarFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$VerticalBarFrame.class
new file mode 100755
index 0000000000000000000000000000000000000000..5108d679b9b748e81c52bf126bf587737ae019b0
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$VerticalBarFrame.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameMovingMouseListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameMovingMouseListener.class
new file mode 100755
index 0000000000000000000000000000000000000000..a5a542fa8a38321eeb29d9183a00f31bb7df0239
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameMovingMouseListener.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameResizingMouseListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameResizingMouseListener.class
new file mode 100755
index 0000000000000000000000000000000000000000..a1807006375795417cb9efdf7b005774f47c2b82
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameResizingMouseListener.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.class
new file mode 100755
index 0000000000000000000000000000000000000000..b6b0c37a8f316ff4d3ad7d2a689b7c2d0f2fbba3
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockMessage.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockMessage.class
new file mode 100755
index 0000000000000000000000000000000000000000..6e32544f90c4d19053202f8899190a03905b7718
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockMessage.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoder.class
new file mode 100755
index 0000000000000000000000000000000000000000..a3c47087858895af6a4c4493da1a77f655fb7e85
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoder.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoderTest.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoderTest.class
new file mode 100755
index 0000000000000000000000000000000000000000..a7ebdfb5fe75c00bd64b2a58980f93e7e78eb620
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoderTest.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender$1.class
new file mode 100755
index 0000000000000000000000000000000000000000..f1c3a095236ac1162c4c049802796a445d66fd33
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender$1.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender.class
new file mode 100755
index 0000000000000000000000000000000000000000..3cd703d007616a745b1b6327fb95f35be3a4dcc8
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockVideoData.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockVideoData.class
new file mode 100755
index 0000000000000000000000000000000000000000..123cb5b1f55c0e9cffd37a20f056ac689b696a90
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockVideoData.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/ConnectionException.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/ConnectionException.class
new file mode 100755
index 0000000000000000000000000000000000000000..692afe6774cb2d2eb9794252a34caa62ef550106
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/ConnectionException.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/CursorMessage.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/CursorMessage.class
new file mode 100755
index 0000000000000000000000000000000000000000..08b6fe04f66782fc9f7363c6921541a26e72214c
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/CursorMessage.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/EncodedBlockData.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/EncodedBlockData.class
new file mode 100755
index 0000000000000000000000000000000000000000..ee441489f46ca680d71b1444d398217993081518
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/EncodedBlockData.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/FileScreenCaptureSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/FileScreenCaptureSender.class
new file mode 100755
index 0000000000000000000000000000000000000000..81df5f22ae9a34fa7195ae1e8a3fd3406e7817a2
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/FileScreenCaptureSender.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/HttpScreenCaptureSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/HttpScreenCaptureSender.class
new file mode 100755
index 0000000000000000000000000000000000000000..f1101eaa6f14816da37949bb3072ee1c748c4566
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/HttpScreenCaptureSender.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/Message$MessageType.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/Message$MessageType.class
new file mode 100755
index 0000000000000000000000000000000000000000..30a5bf9624aa47e3ba2382975333e74e620638cc
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/Message$MessageType.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/Message.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/Message.class
new file mode 100755
index 0000000000000000000000000000000000000000..3a425e4c8d8bd743f706c142f96d6b51bd2bab31
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/Message.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkConnectionListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkConnectionListener.class
new file mode 100755
index 0000000000000000000000000000000000000000..55624a88eb187d1e0ca6640aabb8f377a41938b2
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkConnectionListener.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkHttpStreamSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkHttpStreamSender.class
new file mode 100755
index 0000000000000000000000000000000000000000..66506e0cdbe653e74108473c440b7b8c9dbf5a31
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkHttpStreamSender.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.class
new file mode 100755
index 0000000000000000000000000000000000000000..90bdc73aed208ce7d72e00724f542c80785fd2f9
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamListener.class
new file mode 100755
index 0000000000000000000000000000000000000000..03b08cf3818672a5f3b4ea86c0c2621fa123919b
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamListener.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamSender.class
new file mode 100755
index 0000000000000000000000000000000000000000..7c8ad074acfddf20dfc8c68a0caed15755b3e4f4
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamSender.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NextBlockRetriever.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NextBlockRetriever.class
new file mode 100755
index 0000000000000000000000000000000000000000..b4b04c0c0233377544244b1e1c0e4e38ec63845a
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/NextBlockRetriever.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenCaptureSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenCaptureSender.class
new file mode 100755
index 0000000000000000000000000000000000000000..77a2a0e3992ee2a45106f75f4b34087dd981827c
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenCaptureSender.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenVideo.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenVideo.class
new file mode 100755
index 0000000000000000000000000000000000000000..51e0781bad853bd9ad407f938ae63c32dc0e0aac
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenVideo.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender$1.class
new file mode 100755
index 0000000000000000000000000000000000000000..ce309734b0df13a9dccfde42d9e7a271ba53b52b
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender$1.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender.class
new file mode 100755
index 0000000000000000000000000000000000000000..9b41ed9315577aa14a9a6746f592a3b7ae29c199
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/common/CaptureEvents.class b/deskshare/build/org/bigbluebutton/deskshare/common/CaptureEvents.class
new file mode 100755
index 0000000000000000000000000000000000000000..616fc3c3e8d29c0f10b1762e1c5dccd8928cf4a4
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/common/CaptureEvents.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/common/Dimension.class b/deskshare/build/org/bigbluebutton/deskshare/common/Dimension.class
new file mode 100755
index 0000000000000000000000000000000000000000..ddab1c297e50e65f218115fcd735956a9a988a14
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/common/Dimension.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/common/PixelExtractException.class b/deskshare/build/org/bigbluebutton/deskshare/common/PixelExtractException.class
new file mode 100755
index 0000000000000000000000000000000000000000..2ed65f4b3a0bb2ef3fc5e12da23fd71c96e73ec4
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/common/PixelExtractException.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/common/ScreenVideoEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/common/ScreenVideoEncoder.class
new file mode 100755
index 0000000000000000000000000000000000000000..2f749929dc1ca7b3c35fdd97a3f40c02c65429a7
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/common/ScreenVideoEncoder.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/MultiThreadedAppAdapter.class b/deskshare/build/org/bigbluebutton/deskshare/server/MultiThreadedAppAdapter.class
new file mode 100755
index 0000000000000000000000000000000000000000..dd2e8229b6ead0c2b9164e6f1f03ad9a28cca1e1
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/MultiThreadedAppAdapter.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideo.class b/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideo.class
new file mode 100755
index 0000000000000000000000000000000000000000..228465b9a24832270bf04b8256ffb74634e3ddc9
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideo.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideoBroadcastStream.class b/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideoBroadcastStream.class
new file mode 100755
index 0000000000000000000000000000000000000000..4f276122ab811fc9944e09f8843e99f820227aef
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideoBroadcastStream.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureEndBlockEvent.class b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureEndBlockEvent.class
new file mode 100755
index 0000000000000000000000000000000000000000..907bbd163212204addb58532f475018d301e30f5
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureEndBlockEvent.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureStartBlockEvent.class b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureStartBlockEvent.class
new file mode 100755
index 0000000000000000000000000000000000000000..4629e599eae7ad3b8e03640fc89cc5eeea1e13fc
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureStartBlockEvent.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureUpdateBlockEvent.class b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureUpdateBlockEvent.class
new file mode 100755
index 0000000000000000000000000000000000000000..57a7925eb11d0a669dbefb52fca4f66bf717fea8
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureUpdateBlockEvent.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/events/MouseLocationEvent.class b/deskshare/build/org/bigbluebutton/deskshare/server/events/MouseLocationEvent.class
new file mode 100755
index 0000000000000000000000000000000000000000..3b03157e249b0a128f1d4696a3c5435184a42ab4
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/events/MouseLocationEvent.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/servlet/HttpTunnelStreamController.class b/deskshare/build/org/bigbluebutton/deskshare/server/servlet/HttpTunnelStreamController.class
new file mode 100755
index 0000000000000000000000000000000000000000..cabd4e8132d61ca35b9b49a0af35ca8f49393b8c
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/servlet/HttpTunnelStreamController.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvEncodeException.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvEncodeException.class
new file mode 100755
index 0000000000000000000000000000000000000000..d80740d3bdebbf05197cb9399342edb7b4ced039
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvEncodeException.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile$1.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile$1.class
new file mode 100755
index 0000000000000000000000000000000000000000..7bda04010c3e485df173a179489fdca01a241c48
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile$1.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile.class
new file mode 100755
index 0000000000000000000000000000000000000000..1fc037bc8b2ce0820b6e82b49a68cd21c5fda148
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/ISessionManagerGateway.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/ISessionManagerGateway.class
new file mode 100755
index 0000000000000000000000000000000000000000..51026a354ac73a54e20cd9c88c0c77277b901861
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/session/ISessionManagerGateway.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFlvEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFlvEncoder.class
new file mode 100755
index 0000000000000000000000000000000000000000..4b72b39e573426bc2235171fb47a51aef47b7f6c
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFlvEncoder.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFrame.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFrame.class
new file mode 100755
index 0000000000000000000000000000000000000000..f622e7cbb24b9d8fd929e38b7a6ed1d71dab955c
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFrame.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamEventMessageHandler.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamEventMessageHandler.class
new file mode 100755
index 0000000000000000000000000000000000000000..8f354bdd358616ccec43cabf8a999582f757e548
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamEventMessageHandler.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamProtocolDecoder.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamProtocolDecoder.class
new file mode 100755
index 0000000000000000000000000000000000000000..052a1a73a98a8fcc6cd554cd0f10970a5c09cc37
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamProtocolDecoder.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/DeskShareServer.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/DeskShareServer.class
new file mode 100755
index 0000000000000000000000000000000000000000..684d53be48f519a080a5576fa3fbbae6ef8f8730
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/socket/DeskShareServer.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/NullProtocolEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/NullProtocolEncoder.class
new file mode 100755
index 0000000000000000000000000000000000000000..e53ed5264ebeec38039d5ec7a1dda2f9d216e379
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/socket/NullProtocolEncoder.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/ScreenCaptureProtocolCodecFactory.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/ScreenCaptureProtocolCodecFactory.class
new file mode 100755
index 0000000000000000000000000000000000000000..10b8decacab88714d447c12114929665f986d7bb
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/socket/ScreenCaptureProtocolCodecFactory.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/streamer/FlvEncodeException.class b/deskshare/build/org/bigbluebutton/deskshare/server/streamer/FlvEncodeException.class
new file mode 100755
index 0000000000000000000000000000000000000000..6875d923666f3ec9f74eb45f27a756da44658ad5
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/streamer/FlvEncodeException.class differ
diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/streamer/ScreenVideoFlvEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/server/streamer/ScreenVideoFlvEncoder.class
new file mode 100755
index 0000000000000000000000000000000000000000..90655af89dfbd0a3832fb0fe74c8d00155a50035
Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/streamer/ScreenVideoFlvEncoder.class differ
diff --git a/deskshare/common/build/.gitignore b/deskshare/common/build/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000