You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2014/04/02 01:22:15 UTC

[22/77] [abbrv] [partial] moving files to new dist directory

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bd74da42/portal/dist/appsvc-ui/bower_components/apigee-sdk/apigee.min.js
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/bower_components/apigee-sdk/apigee.min.js b/portal/dist/appsvc-ui/bower_components/apigee-sdk/apigee.min.js
deleted file mode 100644
index 50ec5a0..0000000
--- a/portal/dist/appsvc-ui/bower_components/apigee-sdk/apigee.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! apigee-javascript-sdk@2.0.5 2014-01-02 */
-!function(){function Usergrid(){}function isUUID(uuid){var uuidValueRegex=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;return uuid?uuidValueRegex.test(uuid):!1}function encodeParams(params){var i,tail=[],item=[];if(params instanceof Array)for(i in params)item=params[i],item instanceof Array&&item.length>1&&tail.push(item[0]+"="+encodeURIComponent(item[1]));else for(var key in params)if(params.hasOwnProperty(key)){var value=params[key];if(value instanceof Array)for(i in value)item=value[i],tail.push(key+"="+encodeURIComponent(item));else tail.push(key+"="+encodeURIComponent(value))}return tail.join("&")}var name="Usergrid",global=global||this,overwrittenName=global[name],AUTH_CLIENT_ID="CLIENT_ID",AUTH_APP_USER="APP_USER",AUTH_NONE="NONE";"undefined"==typeof console&&(global.console={log:function(){},warn:function(){},error:function(){},dir:function(){}}),Usergrid.Client=function(options){this.URI=options.URI||"https://api.usergrid.com",options.orgN
 ame&&this.set("orgName",options.orgName),options.appName&&this.set("appName",options.appName),options.appVersion&&this.set("appVersion",options.appVersion),this.authType=options.authType||AUTH_NONE,this.clientId=options.clientId,this.clientSecret=options.clientSecret,this.setToken(options.token||null),this.buildCurl=options.buildCurl||!1,this.logging=options.logging||!1,this._callTimeout=options.callTimeout||3e4,this._callTimeoutCallback=options.callTimeoutCallback||null,this.logoutCallback=options.logoutCallback||null},Usergrid.Client.prototype._request_node=function(options,callback){global.request=global.request||require("request");var request=global.request,self=this,method=options.method||"GET",endpoint=options.endpoint,body=options.body||{},qs=options.qs||{},mQuery=options.mQuery||!1,orgName=this.get("orgName"),appName=this.get("appName");if(!mQuery&&!orgName&&!appName&&"function"==typeof this.logoutCallback)return this.logoutCallback(!0,"no_org_or_app_name_specified");uri=mQu
 ery?this.URI+"/"+endpoint:this.URI+"/"+orgName+"/"+appName+"/"+endpoint,this.authType===AUTH_CLIENT_ID?(qs.client_id=this.clientId,qs.client_secret=this.clientSecret):this.authType===AUTH_APP_USER&&(qs.access_token=self.getToken()),this.logging&&console.log("calling: "+method+" "+uri),this._start=(new Date).getTime();var callOptions={method:method,uri:uri,json:body,qs:qs};request(callOptions,function(err,r,data){if(self.buildCurl&&(options.uri=r.request.uri.href,self.buildCurlCall(options)),self._end=(new Date).getTime(),200===r.statusCode)self.logging&&console.log("success (time: "+self.calcTimeDiff()+"): "+method+" "+uri),callback(err,data);else if(err=!0,"auth_expired_session_token"===r.error||"auth_missing_credentials"===r.error||"auth_unverified_oath"==r.error||"expired_token"===r.error||"unauthorized"===r.error||"auth_invalid"===r.error){var error=r.body.error,errorDesc=r.body.error_description;self.logging&&console.log("Error ("+r.statusCode+")("+error+"): "+errorDesc),"funct
 ion"==typeof self.logoutCallback?self.logoutCallback(err,data):"function"==typeof callback&&callback(err,data)}else{var error=r.body.error,errorDesc=r.body.error_description;self.logging&&console.log("Error ("+r.statusCode+")("+error+"): "+errorDesc),"function"==typeof callback&&callback(err,data)}})},Usergrid.Client.prototype._request_xhr=function(options,callback){var self=this,method=options.method||"GET",endpoint=options.endpoint,body=options.body||{},qs=options.qs||{},mQuery=options.mQuery||!1,orgName=this.get("orgName"),appName=this.get("appName");if(!mQuery&&!orgName&&!appName&&"function"==typeof this.logoutCallback)return this.logoutCallback(!0,"no_org_or_app_name_specified");var uri;uri=mQuery?this.URI+"/"+endpoint:this.URI+"/"+orgName+"/"+appName+"/"+endpoint,self.getToken()&&(qs.access_token=self.getToken());var encoded_params=encodeParams(qs);encoded_params&&(uri+="?"+encoded_params),body=JSON.stringify(body);var xhr=new XMLHttpRequest;xhr.open(method,uri,!0),body&&(xhr.
 setRequestHeader("Content-Type","application/json"),xhr.setRequestHeader("Accept","application/json")),xhr.onerror=function(response){self._end=(new Date).getTime(),self.logging&&console.log("success (time: "+self.calcTimeDiff()+"): "+method+" "+uri),self.logging&&console.log("Error: API call failed at the network level."),clearTimeout(timeout);var err=!0;"function"==typeof callback&&callback(err,response)},xhr.onload=function(response){self._end=(new Date).getTime(),self.logging&&console.log("success (time: "+self.calcTimeDiff()+"): "+method+" "+uri),clearTimeout(timeout);try{response=JSON.parse(xhr.responseText)}catch(e){response={error:"unhandled_error",error_description:xhr.responseText},xhr.status=200===xhr.status?400:xhr.status,console.error(e)}if(200!=xhr.status){var error=response.error,error_description=response.error_description;if(self.logging&&console.log("Error ("+xhr.status+")("+error+"): "+error_description),("auth_expired_session_token"==error||"auth_missing_credenti
 als"==error||"auth_unverified_oath"==error||"expired_token"==error||"unauthorized"==error||"auth_invalid"==error)&&"function"==typeof self.logoutCallback)return self.logoutCallback(!0,response);"function"==typeof callback&&callback(!0,response)}else"function"==typeof callback&&callback(!1,response)};var timeout=setTimeout(function(){xhr.abort(),"function"===self._callTimeoutCallback?self._callTimeoutCallback("API CALL TIMEOUT"):self.callback("API CALL TIMEOUT")},self._callTimeout);if(this.logging&&console.log("calling: "+method+" "+uri),this.buildCurl){var curlOptions={uri:uri,body:body,method:method};this.buildCurlCall(curlOptions)}this._start=(new Date).getTime(),xhr.send(body)},Usergrid.Client.prototype.request=function(){"undefined"!=typeof window?Usergrid.Client.prototype._request_xhr.apply(this,arguments):Usergrid.Client.prototype._request_node.apply(this,arguments)},Usergrid.Client.prototype.buildAssetURL=function(uuid){var self=this,qs={},assetURL=this.URI+"/"+this.orgName+"
 /"+this.appName+"/assets/"+uuid+"/data";self.getToken()&&(qs.access_token=self.getToken());var encoded_params=encodeParams(qs);return encoded_params&&(assetURL+="?"+encoded_params),assetURL},Usergrid.Client.prototype.createGroup=function(options,callback){var getOnExist=options.getOnExist||!1;options={path:options.path,client:this,data:options};var group=new Usergrid.Group(options);group.fetch(function(err,data){var okToSave=err&&"service_resource_not_found"===data.error||"no_name_specified"===data.error||"null_pointer"===data.error||!err&&getOnExist;okToSave?group.save(function(err){"function"==typeof callback&&callback(err,group)}):"function"==typeof callback&&callback(err,group)})},Usergrid.Client.prototype.createEntity=function(options,callback){var getOnExist=options.getOnExist||!1;options={client:this,data:options};var entity=new Usergrid.Entity(options);entity.fetch(function(err,data){var okToSave=err&&"service_resource_not_found"===data.error||"no_name_specified"===data.erro
 r||"null_pointer"===data.error||!err&&getOnExist;okToSave?(entity.set(options.data),entity.save(function(err,data){"function"==typeof callback&&callback(err,entity,data)})):"function"==typeof callback&&callback(err,entity,data)})},Usergrid.Client.prototype.getEntity=function(options,callback){options={client:this,data:options};var entity=new Usergrid.Entity(options);entity.fetch(function(err,data){"function"==typeof callback&&callback(err,entity,data)})},Usergrid.Client.prototype.restoreEntity=function(serializedObject){var data=JSON.parse(serializedObject);options={client:this,data:data};var entity=new Usergrid.Entity(options);return entity},Usergrid.Client.prototype.createCollection=function(options,callback){options.client=this;var collection=new Usergrid.Collection(options,function(err,data){"function"==typeof callback&&callback(err,collection,data)})},Usergrid.Client.prototype.restoreCollection=function(serializedObject){var data=JSON.parse(serializedObject);data.client=this;va
 r collection=new Usergrid.Collection(data);return collection},Usergrid.Client.prototype.getFeedForUser=function(username,callback){var options={method:"GET",endpoint:"users/"+username+"/feed"};this.request(options,function(err,data){"function"==typeof callback&&(err?callback(err):callback(err,data,data.entities))})},Usergrid.Client.prototype.createUserActivity=function(user,options,callback){options.type="users/"+user+"/activities",options={client:this,data:options};var entity=new Usergrid.Entity(options);entity.save(function(err){"function"==typeof callback&&callback(err,entity)})},Usergrid.Client.prototype.createUserActivityWithEntity=function(user,content,callback){var username=user.get("username"),options={actor:{displayName:username,uuid:user.get("uuid"),username:username,email:user.get("email"),picture:user.get("picture"),image:{duration:0,height:80,url:user.get("picture"),width:80}},verb:"post",content:content};this.createUserActivity(username,options,callback)},Usergrid.Clie
 nt.prototype.calcTimeDiff=function(){var seconds=0,time=this._end-this._start;try{seconds=(time/10/60).toFixed(2)}catch(e){return 0}return seconds},Usergrid.Client.prototype.setToken=function(token){this.set("token",token)},Usergrid.Client.prototype.getToken=function(){return this.get("token")},Usergrid.Client.prototype.setObject=function(key,value){value&&(value=JSON.stringify(value)),this.set(key,value)},Usergrid.Client.prototype.set=function(key,value){var keyStore="apigee_"+key;this[key]=value,"undefined"!=typeof Storage&&(value?localStorage.setItem(keyStore,value):localStorage.removeItem(keyStore))},Usergrid.Client.prototype.getObject=function(key){return JSON.parse(this.get(key))},Usergrid.Client.prototype.get=function(key){var keyStore="apigee_"+key;return this[key]?this[key]:"undefined"!=typeof Storage?localStorage.getItem(keyStore):null},Usergrid.Client.prototype.signup=function(username,password,email,name,callback){var options={type:"users",username:username,password:pass
 word,email:email,name:name};this.createEntity(options,callback)},Usergrid.Client.prototype.login=function(username,password,callback){var self=this,options={method:"POST",endpoint:"token",body:{username:username,password:password,grant_type:"password"}};this.request(options,function(err,data){var user={};err&&self.logging?console.log("error trying to log user in"):(options={client:self,data:data.user},user=new Usergrid.Entity(options),self.setToken(data.access_token)),"function"==typeof callback&&callback(err,data,user)})},Usergrid.Client.prototype.reAuthenticateLite=function(callback){var self=this,options={method:"GET",endpoint:"management/me",mQuery:!0};this.request(options,function(err,response){err&&self.logging?console.log("error trying to re-authenticate user"):self.setToken(response.access_token),"function"==typeof callback&&callback(err)})},Usergrid.Client.prototype.reAuthenticate=function(email,callback){var self=this,options={method:"GET",endpoint:"management/users/"+emai
 l,mQuery:!0};this.request(options,function(err,response){var data,organizations={},applications={},user={};if(err&&self.logging)console.log("error trying to full authenticate user");else{data=response.data,self.setToken(data.token),self.set("email",data.email),localStorage.setItem("accessToken",data.token),localStorage.setItem("userUUID",data.uuid),localStorage.setItem("userEmail",data.email);var userData={username:data.username,email:data.email,name:data.name,uuid:data.uuid};options={client:self,data:userData},user=new Usergrid.Entity(options),organizations=data.organizations;var org="";try{var existingOrg=self.get("orgName");org=organizations[existingOrg]?organizations[existingOrg]:organizations[Object.keys(organizations)[0]],self.set("orgName",org.name)}catch(e){err=!0,self.logging&&console.log("error selecting org")}applications=self.parseApplicationsArray(org),self.selectFirstApp(applications),self.setObject("organizations",organizations),self.setObject("applications",applicati
 ons)}"function"==typeof callback&&callback(err,data,user,organizations,applications)})},Usergrid.Client.prototype.loginFacebook=function(facebookToken,callback){var self=this,options={method:"GET",endpoint:"auth/facebook",qs:{fb_access_token:facebookToken}};this.request(options,function(err,data){var user={};if(err&&self.logging)console.log("error trying to log user in");else{var options={client:self,data:data.user};user=new Usergrid.Entity(options),self.setToken(data.access_token)}"function"==typeof callback&&callback(err,data,user)})},Usergrid.Client.prototype.getLoggedInUser=function(callback){if(this.getToken()){var self=this,options={method:"GET",endpoint:"users/me"};this.request(options,function(err,data){if(err)self.logging&&console.log("error trying to log user in"),"function"==typeof callback&&callback(err,data,null);else{var options={client:self,data:data.entities[0]},user=new Usergrid.Entity(options);"function"==typeof callback&&callback(err,data,user)}})}else callback(!0
 ,null,null)},Usergrid.Client.prototype.isLoggedIn=function(){return this.getToken()&&"null"!=this.getToken()?!0:!1},Usergrid.Client.prototype.logout=function(){this.setToken(null)},Usergrid.Client.prototype.buildCurlCall=function(options){var curl="curl",method=(options.method||"GET").toUpperCase(),body=options.body||{},uri=options.uri;return curl+="POST"===method?" -X POST":"PUT"===method?" -X PUT":"DELETE"===method?" -X DELETE":" -X GET",curl+=" "+uri,"undefined"!=typeof window&&(body=JSON.stringify(body)),'"{}"'!==body&&"GET"!==method&&"DELETE"!==method&&(curl+=" -d '"+body+"'"),console.log(curl),curl},Usergrid.Client.prototype.getDisplayImage=function(email,picture,size){try{if(picture)return picture;var size=size||50;return email.length?"https://secure.gravatar.com/avatar/"+MD5(email)+"?s="+size+encodeURI("&d=https://apigee.com/usergrid/images/user_profile.png"):"https://apigee.com/usergrid/images/user_profile.png"}catch(e){return"https://apigee.com/usergrid/images/user_profile
 .png"}},Usergrid.Entity=function(options){options&&(this._data=options.data||{},this._client=options.client||{})},Usergrid.Entity.prototype.serialize=function(){return JSON.stringify(this._data)},Usergrid.Entity.prototype.get=function(field){return field?this._data[field]:this._data},Usergrid.Entity.prototype.set=function(key,value){if("object"==typeof key)for(var field in key)this._data[field]=key[field];else"string"==typeof key?null===value?delete this._data[key]:this._data[key]=value:this._data={}},Usergrid.Entity.prototype.save=function(callback){var type=this.get("type"),method="POST";isUUID(this.get("uuid"))&&(method="PUT",type+="/"+this.get("uuid"));var self=this,data={},entityData=this.get();for(var item in entityData)"metadata"!==item&&"created"!==item&&"modified"!==item&&"type"!==item&&"activated"!==item&&"uuid"!==item&&(data[item]=entityData[item]);var options={method:method,endpoint:type,body:data};this._client.request(options,function(err,retdata){if(err&&self._client.l
 ogging){if(console.log("could not save entity"),"function"==typeof callback)return callback(err,retdata,self)}else{if(retdata.entities&&retdata.entities.length){var entity=retdata.entities[0];self.set(entity);for(var path=retdata.path;"/"===path.substring(0,1);)path=path.substring(1);self.set("type",path)}var needPasswordChange=("user"===self.get("type")||"users"===self.get("type"))&&entityData.oldpassword&&entityData.newpassword;if(needPasswordChange){var pwdata={};pwdata.oldpassword=entityData.oldpassword,pwdata.newpassword=entityData.newpassword;var options={method:"PUT",endpoint:type+"/password",body:pwdata};self._client.request(options,function(err,data){err&&self._client.logging&&console.log("could not update user"),self.set("oldpassword",null),self.set("newpassword",null),"function"==typeof callback&&callback(err,data,self)})}else"function"==typeof callback&&callback(err,retdata,self)}})},Usergrid.Entity.prototype.fetch=function(callback){var type=this.get("type"),self=this;t
 ry{if(void 0===type)throw"cannot fetch entity, no entity type specified";if(this.get("uuid"))type+="/"+this.get("uuid");else if("users"===type&&this.get("username"))type+="/"+this.get("username");else if(this.get("name"))type+="/"+encodeURIComponent(this.get("name"));else if("function"==typeof callback)throw"no_name_specified"}catch(e){return self._client.logging&&console.log(e),callback(!0,{error:e},self)}var options={method:"GET",endpoint:type};this._client.request(options,function(err,data){if(err&&self._client.logging)console.log("could not get entity");else if(data.user)self.set(data.user),self._json=JSON.stringify(data.user,null,2);else if(data.entities&&data.entities.length){var entity=data.entities[0];self.set(entity)}"function"==typeof callback&&callback(err,data,self)})},Usergrid.Entity.prototype.destroy=function(callback){var self=this,type=this.get("type");if(isUUID(this.get("uuid")))type+="/"+this.get("uuid");else if("function"==typeof callback){var error="Error trying 
 to delete object - no uuid specified.";self._client.logging&&console.log(error),callback(!0,error)}var options={method:"DELETE",endpoint:type};this._client.request(options,function(err,data){err&&self._client.logging?console.log("entity could not be deleted"):self.set(null),"function"==typeof callback&&callback(err,data)})},Usergrid.Entity.prototype.connect=function(connection,entity,callback){var error,self=this,connecteeType=entity.get("type"),connectee=this.getEntityId(entity);if(!connectee)return"function"==typeof callback&&(error="Error trying to delete object - no uuid specified.",self._client.logging&&console.log(error),callback(!0,error)),void 0;var connectorType=this.get("type"),connector=this.getEntityId(this);if(!connector)return"function"==typeof callback&&(error="Error in connect - no uuid specified.",self._client.logging&&console.log(error),callback(!0,error)),void 0;var endpoint=connectorType+"/"+connector+"/"+connection+"/"+connecteeType+"/"+connectee,options={method
 :"POST",endpoint:endpoint};this._client.request(options,function(err,data){err&&self._client.logging&&console.log("entity could not be connected"),"function"==typeof callback&&callback(err,data)})},Usergrid.Entity.prototype.getEntityId=function(entity){var id=!1;return isUUID(entity.get("uuid"))?id=entity.get("uuid"):"users"===type?id=entity.get("username"):entity.get("name")&&(id=entity.get("name")),id},Usergrid.Entity.prototype.getConnections=function(connection,callback){var self=this,connectorType=this.get("type"),connector=this.getEntityId(this);if(connector){var endpoint=connectorType+"/"+connector+"/"+connection+"/",options={method:"GET",endpoint:endpoint};this._client.request(options,function(err,data){err&&self._client.logging&&console.log("entity could not be connected"),self[connection]={};for(var length=data.entities.length,i=0;length>i;i++)"user"===data.entities[i].type?self[connection][data.entities[i].username]=data.entities[i]:self[connection][data.entities[i].name]=
 data.entities[i];"function"==typeof callback&&callback(err,data,data.entities)})}else if("function"==typeof callback){var error="Error in getConnections - no uuid specified.";self._client.logging&&console.log(error),callback(!0,error)}},Usergrid.Entity.prototype.getGroups=function(callback){var self=this,endpoint="users/"+this.get("uuid")+"/groups",options={method:"GET",endpoint:endpoint};this._client.request(options,function(err,data){err&&self._client.logging&&console.log("entity could not be connected"),self.groups=data.entities,"function"==typeof callback&&callback(err,data,data.entities)})},Usergrid.Entity.prototype.getActivities=function(callback){var self=this,endpoint=this.get("type")+"/"+this.get("uuid")+"/activities",options={method:"GET",endpoint:endpoint};this._client.request(options,function(err,data){err&&self._client.logging&&console.log("entity could not be connected");for(var entity in data.entities)data.entities[entity].createdDate=new Date(data.entities[entity].cr
 eated).toUTCString();self.activities=data.entities,"function"==typeof callback&&callback(err,data,data.entities)})},Usergrid.Entity.prototype.getFollowing=function(callback){var self=this,endpoint="users/"+this.get("uuid")+"/following",options={method:"GET",endpoint:endpoint};this._client.request(options,function(err,data){err&&self._client.logging&&console.log("could not get user following");for(var entity in data.entities){data.entities[entity].createdDate=new Date(data.entities[entity].created).toUTCString();var image=self._client.getDisplayImage(data.entities[entity].email,data.entities[entity].picture);data.entities[entity]._portal_image_icon=image}self.following=data.entities,"function"==typeof callback&&callback(err,data,data.entities)})},Usergrid.Entity.prototype.getFollowers=function(callback){var self=this,endpoint="users/"+this.get("uuid")+"/followers",options={method:"GET",endpoint:endpoint};this._client.request(options,function(err,data){err&&self._client.logging&&conso
 le.log("could not get user followers");for(var entity in data.entities){data.entities[entity].createdDate=new Date(data.entities[entity].created).toUTCString();var image=self._client.getDisplayImage(data.entities[entity].email,data.entities[entity].picture);data.entities[entity]._portal_image_icon=image}self.followers=data.entities,"function"==typeof callback&&callback(err,data,data.entities)})},Usergrid.Entity.prototype.getRoles=function(callback){var self=this,endpoint=this.get("type")+"/"+this.get("uuid")+"/roles",options={method:"GET",endpoint:endpoint};this._client.request(options,function(err,data){err&&self._client.logging&&console.log("could not get user roles"),self.roles=data.entities,"function"==typeof callback&&callback(err,data,data.entities)})},Usergrid.Entity.prototype.getPermissions=function(callback){var self=this,endpoint=this.get("type")+"/"+this.get("uuid")+"/permissions",options={method:"GET",endpoint:endpoint};this._client.request(options,function(err,data){err
 &&self._client.logging&&console.log("could not get user permissions");var permissions=[];if(data.data){var perms=data.data,count=0;for(var i in perms){count++;var perm=perms[i],parts=perm.split(":"),ops_part="",path_part=parts[0];parts.length>1&&(ops_part=parts[0],path_part=parts[1]),ops_part.replace("*","get,post,put,delete");var ops=ops_part.split(","),ops_object={};ops_object.get="no",ops_object.post="no",ops_object.put="no",ops_object.delete="no";for(var j in ops)ops_object[ops[j]]="yes";permissions.push({operations:ops_object,path:path_part,perm:perm})}}self.permissions=permissions,"function"==typeof callback&&callback(err,data,data.entities)})},Usergrid.Entity.prototype.disconnect=function(connection,entity,callback){var error,self=this,connecteeType=entity.get("type"),connectee=this.getEntityId(entity);if(!connectee)return"function"==typeof callback&&(error="Error trying to delete object - no uuid specified.",self._client.logging&&console.log(error),callback(!0,error)),void 0
 ;var connectorType=this.get("type"),connector=this.getEntityId(this);if(!connector)return"function"==typeof callback&&(error="Error in connect - no uuid specified.",self._client.logging&&console.log(error),callback(!0,error)),void 0;var endpoint=connectorType+"/"+connector+"/"+connection+"/"+connecteeType+"/"+connectee,options={method:"DELETE",endpoint:endpoint};this._client.request(options,function(err,data){err&&self._client.logging&&console.log("entity could not be disconnected"),"function"==typeof callback&&callback(err,data)})},Usergrid.Collection=function(options,callback){if(options&&(this._client=options.client,this._type=options.type,this.qs=options.qs||{},this._list=options.list||[],this._iterator=options.iterator||-1,this._previous=options.previous||[],this._next=options.next||null,this._cursor=options.cursor||null,options.list))for(var count=options.list.length,i=0;count>i;i++){var entity=this._client.restoreEntity(options.list[i]);this._list[i]=entity}callback&&this.fet
 ch(callback)},Usergrid.Collection.prototype.serialize=function(){var data={};data.type=this._type,data.qs=this.qs,data.iterator=this._iterator,data.previous=this._previous,data.next=this._next,data.cursor=this._cursor,this.resetEntityPointer();var i=0;for(data.list=[];this.hasNextEntity();){var entity=this.getNextEntity();data.list[i]=entity.serialize(),i++}return data=JSON.stringify(data)},Usergrid.Collection.prototype.addCollection=function(collectionName,options,callback){self=this,options.client=this._client;var collection=new Usergrid.Collection(options,function(err){if("function"==typeof callback){for(collection.resetEntityPointer();collection.hasNextEntity();){var user=collection.getNextEntity(),image=(user.get("email"),self._client.getDisplayImage(user.get("email"),user.get("picture")));user._portal_image_icon=image}self[collectionName]=collection,callback(err,collection)}})},Usergrid.Collection.prototype.fetch=function(callback){var self=this,qs=this.qs;this._cursor?qs.curs
 or=this._cursor:delete qs.cursor;var options={method:"GET",endpoint:this._type,qs:this.qs};this._client.request(options,function(err,data){if(err&&self._client.logging)console.log("error getting collection");else{var cursor=data.cursor||null;if(self.saveCursor(cursor),data.entities){self.resetEntityPointer();var count=data.entities.length;self._list=[];for(var i=0;count>i;i++){var uuid=data.entities[i].uuid;if(uuid){var entityData=data.entities[i]||{};self._baseType=data.entities[i].type,entityData.type=self._type;var entityOptions={type:self._type,client:self._client,uuid:uuid,data:entityData},ent=new Usergrid.Entity(entityOptions);ent._json=JSON.stringify(entityData,null,2);var ct=self._list.length;self._list[ct]=ent}}}}"function"==typeof callback&&callback(err,data)})},Usergrid.Collection.prototype.addEntity=function(options,callback){var self=this;options.type=this._type,this._client.createEntity(options,function(err,entity){if(!err){var count=self._list.length;self._list[count]
 =entity}"function"==typeof callback&&callback(err,entity)})},Usergrid.Collection.prototype.addExistingEntity=function(entity){var count=this._list.length;this._list[count]=entity},Usergrid.Collection.prototype.destroyEntity=function(entity,callback){var self=this;entity.destroy(function(err,data){err?(self._client.logging&&console.log("could not destroy entity"),"function"==typeof callback&&callback(err,data)):self.fetch(callback)}),this.removeEntity(entity)},Usergrid.Collection.prototype.removeEntity=function(entity){var uuid=entity.get("uuid");for(var key in this._list){var listItem=this._list[key];if(listItem.get("uuid")===uuid)return this._list.splice(key,1)}return!1},Usergrid.Collection.prototype.getEntityByUUID=function(uuid,callback){for(var key in this._list){var listItem=this._list[key];if(listItem.get("uuid")===uuid)return listItem}var options={data:{type:this._type,uuid:uuid},client:this._client},entity=new Usergrid.Entity(options);entity.fetch(callback)},Usergrid.Collect
 ion.prototype.getFirstEntity=function(){var count=this._list.length;return count>0?this._list[0]:null},Usergrid.Collection.prototype.getLastEntity=function(){var count=this._list.length;return count>0?this._list[count-1]:null},Usergrid.Collection.prototype.hasNextEntity=function(){var next=this._iterator+1,hasNextElement=next>=0&&next<this._list.length;return hasNextElement?!0:!1},Usergrid.Collection.prototype.getNextEntity=function(){this._iterator++;var hasNextElement=this._iterator>=0&&this._iterator<this._list.length;return hasNextElement?this._list[this._iterator]:!1},Usergrid.Collection.prototype.hasPrevEntity=function(){var previous=this._iterator-1,hasPreviousElement=previous>=0&&previous<this._list.length;return hasPreviousElement?!0:!1},Usergrid.Collection.prototype.getPrevEntity=function(){this._iterator--;var hasPreviousElement=this._iterator>=0&&this._iterator<=this._list.length;return hasPreviousElement?this._list[this._iterator]:!1},Usergrid.Collection.prototype.reset
 EntityPointer=function(){this._iterator=-1},Usergrid.Collection.prototype.saveCursor=function(cursor){this._next!==cursor&&(this._next=cursor)},Usergrid.Collection.prototype.resetPaging=function(){this._previous=[],this._next=null,this._cursor=null},Usergrid.Collection.prototype.hasNextPage=function(){return this._next},Usergrid.Collection.prototype.getNextPage=function(callback){this.hasNextPage()?(this._previous.push(this._cursor),this._cursor=this._next,this._list=[],this.fetch(callback)):callback(!0)},Usergrid.Collection.prototype.hasPreviousPage=function(){return this._previous.length>0},Usergrid.Collection.prototype.getPreviousPage=function(callback){this.hasPreviousPage()?(this._next=null,this._cursor=this._previous.pop(),this._list=[],this.fetch(callback)):callback(!0)},Usergrid.Group=function(options){this._path=options.path,this._list=[],this._client=options.client,this._data=options.data||{},this._data.type="groups"},Usergrid.Group.prototype=new Usergrid.Entity,Usergrid.G
 roup.prototype.fetch=function(callback){var self=this,groupEndpoint="groups/"+this._path,memberEndpoint="groups/"+this._path+"/users",groupOptions={method:"GET",endpoint:groupEndpoint},memberOptions={method:"GET",endpoint:memberEndpoint};this._client.request(groupOptions,function(err,data){if(err)self._client.logging&&console.log("error getting group"),"function"==typeof callback&&callback(err,data);else if(data.entities){var groupData=data.entities[0];self._data=groupData||{},self._client.request(memberOptions,function(err,data){if(err&&self._client.logging)console.log("error getting group users");else if(data.entities){var count=data.entities.length;self._list=[];for(var i=0;count>i;i++){var uuid=data.entities[i].uuid;if(uuid){var entityData=data.entities[i]||{},entityOptions={type:entityData.type,client:self._client,uuid:uuid,data:entityData},entity=new Usergrid.Entity(entityOptions);self._list.push(entity)}}}"function"==typeof callback&&callback(err,data,self._list)})}})},Usergr
 id.Group.prototype.members=function(callback){"function"==typeof callback&&callback(null,this._list)},Usergrid.Group.prototype.add=function(options,callback){var self=this;options={method:"POST",endpoint:"groups/"+this._path+"/users/"+options.user.get("username")},this._client.request(options,function(error,data){error?"function"==typeof callback&&callback(error,data,data.entities):self.fetch(callback)})},Usergrid.Group.prototype.remove=function(options,callback){var self=this;options={method:"DELETE",endpoint:"groups/"+this._path+"/users/"+options.user.get("username")},this._client.request(options,function(error,data){error?"function"==typeof callback&&callback(error,data):self.fetch(callback)})},Usergrid.Group.prototype.feed=function(callback){var self=this,endpoint="groups/"+this._path+"/feed",options={method:"GET",endpoint:endpoint};this._client.request(options,function(err,data){err&&self.logging&&console.log("error trying to log user in"),"function"==typeof callback&&callback(
 err,data,data.entities)})},Usergrid.Group.prototype.createGroupActivity=function(options,callback){var user=options.user;options={client:this._client,data:{actor:{displayName:user.get("username"),uuid:user.get("uuid"),username:user.get("username"),email:user.get("email"),picture:user.get("picture"),image:{duration:0,height:80,url:user.get("picture"),width:80}},verb:"post",content:options.content,type:"groups/"+this._path+"/activities"}};var entity=new Usergrid.Entity(options);entity.save(function(err){"function"==typeof callback&&callback(err,entity)})},Usergrid.SDK_VERSION="0.10.07",Usergrid.NODE_MODULE_VERSION=Usergrid.SDK_VERSION,global[name]={client:Usergrid.Client,entity:Usergrid.Entity,collection:Usergrid.Collection,group:Usergrid.Group,AUTH_CLIENT_ID:AUTH_CLIENT_ID,AUTH_APP_USER:AUTH_APP_USER,AUTH_NONE:AUTH_NONE},global[name].noConflict=function(){return overwrittenName&&(global[name]=overwrittenName),Usergrid}}(),function(){var name="Usergrid",global=this,overwrittenName=glo
 bal[name],Usergrid=Usergrid||global.Usergrid;if(!Usergrid)throw"Usergrid module is required for the monitoring module.";
-return Usergrid.client.prototype.logVerbose=function(options){this.monitor.logVerbose(options)},Usergrid.client.prototype.logDebug=function(options){this.monitor.logDebug(options)},Usergrid.client.prototype.logInfo=function(options){this.monitor.logInfo(options)},Usergrid.client.prototype.logWarn=function(options){this.monitor.logWarn(options)},Usergrid.client.prototype.logError=function(options){this.monitor.logError(options)},Usergrid.client.prototype.logAssert=function(options){this.monitor.logAssert(options)},global[name]={client:Usergrid.client,entity:Usergrid.entity,collection:Usergrid.collection,group:Usergrid.group,AUTH_CLIENT_ID:Usergrid.AUTH_CLIENT_ID,AUTH_APP_USER:Usergrid.AUTH_APP_USER,AUTH_NONE:Usergrid.AUTH_NONE},global[name].noConflict=function(){return overwrittenName&&(global[name]=overwrittenName),Usergrid},global[name]}(),function(){function logCrash(options){var log=options||{},cleansedLog={logLevel:LOGLEVELS.assert,logMessage:log.logMessage,tag:log.tag,timeStamp
 :timeStamp()};logs.push(cleansedLog)}function randomUUID(){var i,s=[],itoh="0123456789ABCDEF";for(i=0;36>i;i++)s[i]=Math.floor(16*Math.random());for(s[14]=4,s[19]=3&s[19]|8,i=0;36>i;i++)s[i]=itoh[s[i]];return s[8]=s[13]=s[18]=s[23]="-",s.join("")}function timeStamp(){return(new Date).getTime().toString()}function generateDeviceId(){var deviceId="UNKNOWN";try{if("undefined"==typeof localStorage)throw new Error("device or platform does not support local storage");null===window.localStorage.getItem("uuid")&&window.localStorage.setItem("uuid",randomUUID()),deviceId=window.localStorage.getItem("uuid")}catch(e){deviceId=randomUUID(),console.warn(e)}finally{return deviceId}}function isPhoneGap(){return"undefined"!=typeof cordova||"undefined"!=typeof PhoneGap||"undefined"!=typeof window.device}function isTrigger(){return"undefined"!=typeof window.forge}function isTitanium(){return"undefined"!=typeof Titanium}function createBrowserRegex(browser){return new RegExp("\\b("+browser+")\\/([^\\s]+
 )")}function createBrowserTest(userAgent,positive,negatives){var matches=BROWSER_REGEX[positive].exec(userAgent);return negatives=negatives||[],matches&&matches.length&&!negatives.some(function(negative){return BROWSER_REGEX[negative].exec(userAgent)})?matches.slice(1,3):void 0}function determineBrowserType(ua,appName){var browserName=appName,fullVersion=UNKNOWN,browserData={devicePlatform:UNKNOWN,deviceOSVersion:UNKNOWN},browserData=BROWSER_TESTS.reduce(function(p,c){return c?c:p},"UNKNOWN");return browserName=browserData[0],fullVersion=browserData[1],"MSIE"===browserName&&(browserName="Microsoft Internet Explorer"),browserData.devicePlatform=browserName,browserData.deviceOSVersion=fullVersion,browserData}var name="Apigee",global=this,overwrittenName=global[name],Usergrid=Usergrid||global.Usergrid;if(!Usergrid)throw"Usergrid module is required for the monitoring module.";var VERBS={get:"GET",post:"POST",put:"PUT",del:"DELETE",head:"HEAD"},LOGLEVELS={verbose:"V",debug:"D",info:"I",w
 arn:"W",error:"E",assert:"A"},LOGLEVELNUMBERS={verbose:2,debug:3,info:4,warn:5,error:6,assert:7},UNKNOWN="UNKNOWN",SDKTYPE="JavaScript",logs=[],metrics=[],Apigee=Usergrid;Apigee.prototype=Usergrid.prototype,Apigee.Client=function(options){if(this.monitoringEnabled=options.monitoringEnabled||!0,this.monitoringEnabled)try{this.monitor=new Apigee.MonitoringClient(options)}catch(e){console.log(e)}Usergrid.client.call(this,options)},Apigee.Client.prototype=Usergrid.client.prototype,Apigee.MonitoringClient=function(options){var self=this;if(this.orgName=options.orgName,this.appName=options.appName,this.syncOnClose=options.syncOnClose||!1,this.testMode=options.testMode||!1,this.URI="undefined"==typeof options.URI?"https://api.usergrid.com":options.URI,this.syncDate=timeStamp(),"undefined"!=typeof options.config?(this.configuration=options.config,this.deviceConfig=this.configuration.deviceLevelOverrideEnabled===!0?this.configuration.deviceLevelAppConfig:this.abtestingOverrideEnabled===!0?th
 is.configuration.abtestingAppConfig:this.configuration.defaultAppConfig):(this.configuration=null,this.downloadConfig()),null!==this.configuration&&"undefined"!==this.configuration){var sampleSeed=0;if(this.deviceConfig.samplingRate<100&&(sampleSeed=Math.floor(101*Math.random())),sampleSeed<this.deviceConfig.samplingRate){this.appId=this.configuration.instaOpsApplicationId,this.appConfigType=this.deviceConfig.appConfigType,this.deviceConfig.enableLogMonitoring&&this.patchLoggingCalls();var syncIntervalMillis=3e3;"undefined"!=typeof this.deviceConfig.agentUploadIntervalInSeconds&&(syncIntervalMillis=1e3*this.deviceConfig.agentUploadIntervalInSeconds),this.syncOnClose?isPhoneGap()?window.addEventListener("pause",function(){self.prepareSync()},!1):isTrigger()?forge.event.appPaused.addListener(function(){},function(error){console.log("Error syncing data."),console.log(error)}):isTitanium()||window.addEventListener("beforeunload",function(){self.prepareSync()}):setInterval(function(){sel
 f.prepareSync()},syncIntervalMillis),this.deviceConfig.networkMonitoringEnabled&&this.patchNetworkCalls(XMLHttpRequest),window.onerror=Apigee.MonitoringClient.catchCrashReport,this.startSession(),this.sync({})}}else console.log("Error: Apigee APM configuration unavailable.")},Apigee.MonitoringClient.prototype.applyMonkeyPatches=function(){var self=this;self.deviceConfig.enableLogMonitoring&&self.patchLoggingCalls(),self.deviceConfig.networkMonitoringEnabled&&self.patchNetworkCalls(XMLHttpRequest)},Apigee.MonitoringClient.prototype.getConfig=function(options,callback){"undefined"!=typeof options.config?(this.configuration=options.config,this.deviceConfig=this.configuration.deviceLevelOverrideEnabled===!0?this.configuration.deviceLevelAppConfig:this.abtestingOverrideEnabled===!0?this.configuration.abtestingAppConfig:this.configuration.defaultAppConfig,callback(this.deviceConfig)):(this.configuration=null,this.downloadConfig(callback))},Apigee.MonitoringClient.prototype.downloadConfig=
 function(callback){function onReadyStateChange(){if(4===configRequest.readyState)if("function"==typeof callback)200===configRequest.status?callback(null,JSON.parse(configRequest.responseText)):callback(configRequest.statusText);else if(200===configRequest.status){var config=JSON.parse(configRequest.responseText);self.configuration=config,self.deviceConfig=config.deviceLevelOverrideEnabled===!0?config.deviceLevelAppConfig:self.abtestingOverrideEnabled===!0?config.abtestingAppConfig:config.defaultAppConfig}}var configRequest=new XMLHttpRequest,path=this.URI+"/"+this.orgName+"/"+this.appName+"/apm/apigeeMobileConfig";"function"==typeof callback?configRequest.open(VERBS.get,path,!0):configRequest.open(VERBS.get,path,!1);var self=this;configRequest.setRequestHeader("Accept","application/json"),configRequest.setRequestHeader("Content-Type","application/json"),configRequest.onreadystatechange=onReadyStateChange,configRequest.send()},Apigee.MonitoringClient.prototype.sync=function(syncObjec
 t){var syncData={};syncData.logs=syncObject.logs,syncData.metrics=syncObject.metrics,syncData.sessionMetrics=this.sessionMetrics,syncData.orgName=this.orgName,syncData.appName=this.appName,syncData.fullAppName=this.orgName+"_"+this.appName,syncData.instaOpsApplicationId=this.configuration.instaOpsApplicationId,syncData.timeStamp=timeStamp();var syncRequest=new XMLHttpRequest,path=this.URI+"/"+this.orgName+"/"+this.appName+"/apm/apmMetrics";if(syncRequest.open(VERBS.post,path,!1),syncRequest.setRequestHeader("Accept","application/json"),syncRequest.setRequestHeader("Content-Type","application/json"),syncRequest.send(JSON.stringify(syncData)),200===syncRequest.status){logs=[],metrics=[];{syncRequest.responseText}}else console.log("Error syncing"),console.log(syncRequest.responseText)},Apigee.MonitoringClient.catchCrashReport=function(crashEvent,url,line){logCrash({tag:"CRASH",logMessage:"Error:"+crashEvent+" for url:"+url+" on line:"+line})},Apigee.MonitoringClient.prototype.startLoca
 tionCapture=function(){var self=this;if(self.deviceConfig.locationCaptureEnabled&&"undefined"!=typeof navigator.geolocation){var geoSuccessCallback=function(position){self.sessionMetrics.latitude=position.coords.latitude,self.sessionMetrics.longitude=position.coords.longitude},geoErrorCallback=function(){console.log("Location access is not available.")};navigator.geolocation.getCurrentPosition(geoSuccessCallback,geoErrorCallback)}},Apigee.MonitoringClient.prototype.detectAppPlatform=function(sessionSummary){var self=this,callbackHandler_Titanium=function(e){sessionSummary.devicePlatform=e.name,sessionSummary.deviceOSVersion=e.osname,sessionSummary.deviceId=self.deviceConfig.deviceIdCaptureEnabled?self.deviceConfig.obfuscateDeviceId?generateDeviceId():e.uuid:this.deviceConfig.obfuscateDeviceId?generateDeviceId():UNKNOWN,sessionSummary.deviceModel=e.model,sessionSummary.networkType=e.networkType},callbackHandler_PhoneGap=function(){return"device"in window?(sessionSummary.devicePlatfor
 m=window.device.platform,sessionSummary.deviceOSVersion=window.device.version,sessionSummary.deviceModel=window.device.name):window.cordova&&(sessionSummary.devicePlatform=window.cordova.platformId,sessionSummary.deviceOSVersion=UNKNOWN,sessionSummary.deviceModel=UNKNOWN),"connection"in navigator&&(sessionSummary.networkType=navigator.connection.type||UNKNOWN),sessionSummary.deviceId=self.deviceConfig.deviceIdCaptureEnabled?self.deviceConfig.obfuscateDeviceId?generateDeviceId():window.device.uuid:this.deviceConfig.obfuscateDeviceId?generateDeviceId():UNKNOWN,sessionSummary},callbackHandler_Trigger=function(sessionSummary){var os=UNKNOWN;return forge.is.ios()?os="iOS":forge.is.android()&&(os="Android"),sessionSummary.devicePlatform=UNKNOWN,sessionSummary.deviceOSVersion=os,sessionSummary.deviceId=self.deviceConfig.deviceIdCaptureEnabled?generateDeviceId():UNKNOWN,sessionSummary.deviceModel=UNKNOWN,sessionSummary.networkType=forge.is.connection.wifi()?"WIFI":UNKNOWN,sessionSummary};if
 (isPhoneGap())sessionSummary=callbackHandler_PhoneGap(sessionSummary);else if(isTrigger())sessionSummary=callbackHandler_Trigger(sessionSummary);else if(isTitanium())Ti.App.addEventListener("analytics:platformMetrics",callbackHandler_Titanium);else if("undefined"!=typeof window.localStorage&&self.deviceConfig.deviceIdCaptureEnabled&&(sessionSummary.deviceId=generateDeviceId()),"undefined"!=typeof navigator.userAgent){var browserData=determineBrowserType(navigator.userAgent,navigator.appName);sessionSummary.devicePlatform=browserData.devicePlatform,sessionSummary.deviceOSVersion=browserData.deviceOSVersion,"undefined"!=typeof navigator.language&&(sessionSummary.localLanguage=navigator.language)}return isTitanium()&&Ti.App.fireEvent("analytics:attachReady"),sessionSummary},Apigee.MonitoringClient.prototype.startSession=function(){if(null!==this.configuration&&"undefined"!==this.configuration){var self=this,sessionSummary={};sessionSummary.timeStamp=timeStamp(),sessionSummary.appConfig
 Type=this.appConfigType,sessionSummary.appId=this.appId.toString(),sessionSummary.applicationVersion="undefined"!=typeof this.appVersion?this.appVersion.toString():UNKNOWN,sessionSummary.batteryLevel="-100",sessionSummary.deviceCountry=UNKNOWN,sessionSummary.deviceId=UNKNOWN,sessionSummary.deviceModel=UNKNOWN,sessionSummary.deviceOSVersion=UNKNOWN,sessionSummary.devicePlatform=UNKNOWN,sessionSummary.localCountry=UNKNOWN,sessionSummary.localLanguage=UNKNOWN,sessionSummary.networkCarrier=UNKNOWN,sessionSummary.networkCountry=UNKNOWN,sessionSummary.networkSubType=UNKNOWN,sessionSummary.networkType=UNKNOWN,sessionSummary.sdkType=SDKTYPE,sessionSummary.sessionId=randomUUID(),sessionSummary.sessionStartTime=sessionSummary.timeStamp,self.startLocationCapture(),self.sessionMetrics=self.detectAppPlatform(sessionSummary)}},Apigee.MonitoringClient.prototype.patchNetworkCalls=function(XHR){"use strict";var apigee=this,open=XHR.prototype.open,send=XHR.prototype.send;XHR.prototype.open=function(m
 ethod,url,async,user,pass){this._method=method,this._url=url,open.call(this,method,url,async,user,pass)},XHR.prototype.send=function(data){function onReadyStateChange(){if(4==self.readyState){var monitoringURL=apigee.getMonitoringURL();if(-1===url.indexOf("/!gap_exec")&&-1===url.indexOf(monitoringURL)){var endTime=timeStamp(),latency=endTime-startTime,summary={url:url,startTime:startTime.toString(),endTime:endTime.toString(),numSamples:"1",latency:latency.toString(),timeStamp:startTime.toString(),httpStatusCode:self.status.toString(),responseDataSize:self.responseText.length.toString()};200==self.status?(summary.numErrors="0",apigee.logNetworkCall(summary)):(summary.numErrors="1",apigee.logNetworkCall(summary))}}oldOnReadyStateChange&&oldOnReadyStateChange()}var startTime,oldOnReadyStateChange,self=this,url=(this._method,this._url);this.noIntercept||(startTime=timeStamp(),this.addEventListener?this.addEventListener("readystatechange",onReadyStateChange,!1):(oldOnReadyStateChange=thi
 s.onreadystatechange,this.onreadystatechange=onReadyStateChange)),send.call(this,data)}},Apigee.MonitoringClient.prototype.patchLoggingCalls=function(){var self=this,original=window.console;if(window.console={log:function(){self.logInfo({tag:"CONSOLE",logMessage:arguments[0]}),original.log.apply(original,arguments)},warn:function(){self.logWarn({tag:"CONSOLE",logMessage:arguments[0]}),original.warn.apply(original,arguments)},error:function(){self.logError({tag:"CONSOLE",logMessage:arguments[0]}),original.error.apply(original,arguments)},assert:function(){self.logAssert({tag:"CONSOLE",logMessage:arguments[1]}),original.assert.apply(original,arguments)},debug:function(){self.logDebug({tag:"CONSOLE",logMessage:arguments[0]}),original.debug.apply(original,arguments)}},isTitanium()){var originalTitanium=Ti.API;window.console.log=function(){originalTitanium.info.apply(originalTitanium,arguments)},Ti.API={info:function(){self.logInfo({tag:"CONSOLE_TITANIUM",logMessage:arguments[0]}),origin
 alTitanium.info.apply(originalTitanium,arguments)},log:function(){var level=arguments[0];"info"===level?self.logInfo({tag:"CONSOLE_TITANIUM",logMessage:arguments[1]}):"warn"===level?self.logWarn({tag:"CONSOLE_TITANIUM",logMessage:arguments[1]}):"error"===level?self.logError({tag:"CONSOLE_TITANIUM",logMessage:arguments[1]}):"debug"===level?self.logDebug({tag:"CONSOLE_TITANIUM",logMessage:arguments[1]}):"trace"===level?self.logAssert({tag:"CONSOLE_TITANIUM",logMessage:arguments[1]}):self.logInfo({tag:"CONSOLE_TITANIUM",logMessage:arguments[1]}),originalTitanium.log.apply(originalTitanium,arguments)}}}},Apigee.MonitoringClient.prototype.prepareSync=function(){var syncObject={},self=this;"undefined"!=typeof self.sessionMetrics&&(syncObject.sessionMetrics=self.sessionMetrics);var syncFlag=!1;this.syncDate=timeStamp(),metrics.length>0&&(syncFlag=!0),logs.length>0&&(syncFlag=!0),syncObject.logs=logs,syncObject.metrics=metrics,syncFlag&&!self.testMode&&this.sync(syncObject)},Apigee.Monitori
 ngClient.prototype.logMessage=function(options){var log=options||{},cleansedLog={logLevel:log.logLevel,logMessage:log.logMessage.substring(0,250),tag:log.tag,timeStamp:timeStamp()};logs.push(cleansedLog)},Apigee.MonitoringClient.prototype.logVerbose=function(options){var logOptions=options||{};logOptions.logLevel=LOGLEVELS.verbose,this.deviceConfig.logLevelToMonitor>=LOGLEVELNUMBERS.verbose&&this.logMessage(options)},Apigee.MonitoringClient.prototype.logDebug=function(options){var logOptions=options||{};logOptions.logLevel=LOGLEVELS.debug,this.deviceConfig.logLevelToMonitor>=LOGLEVELNUMBERS.debug&&this.logMessage(options)},Apigee.MonitoringClient.prototype.logInfo=function(options){var logOptions=options||{};logOptions.logLevel=LOGLEVELS.info,this.deviceConfig.logLevelToMonitor>=LOGLEVELNUMBERS.info&&this.logMessage(options)},Apigee.MonitoringClient.prototype.logWarn=function(options){var logOptions=options||{};logOptions.logLevel=LOGLEVELS.warn,this.deviceConfig.logLevelToMonitor>=
 LOGLEVELNUMBERS.warn&&this.logMessage(options)},Apigee.MonitoringClient.prototype.logError=function(options){var logOptions=options||{};logOptions.logLevel=LOGLEVELS.error,this.deviceConfig.logLevelToMonitor>=LOGLEVELNUMBERS.error&&this.logMessage(options)},Apigee.MonitoringClient.prototype.logAssert=function(options){var logOptions=options||{};logOptions.logLevel=LOGLEVELS.assert,this.deviceConfig.logLevelToMonitor>=LOGLEVELNUMBERS.assert&&this.logMessage(options)},Apigee.MonitoringClient.prototype.logNetworkCall=function(options){metrics.push(options)},Apigee.MonitoringClient.prototype.getMonitoringURL=function(){return this.URI+"/"+this.orgName+"/"+this.appName+"/apm/"},Apigee.MonitoringClient.prototype.getConfig=function(){},Apigee.MonitoringClient.prototype.logs=function(){return logs},Apigee.MonitoringClient.prototype.metrics=function(){return metrics},Apigee.MonitoringClient.prototype.getSessionMetrics=function(){return this.sessionMetrics},Apigee.MonitoringClient.prototype.c
 learMetrics=function(){logs=[],metrics=[]},Apigee.MonitoringClient.prototype.mixin=function(destObject){for(var props=["bind","unbind","trigger"],i=0;i<props.length;i++)destObject.prototype[props[i]]=MicroEvent.prototype[props[i]]};var BROWSER_REGEX=["Seamonkey","Firefox","Chromium","Chrome","Safari","Opera"].reduce(function(p,c){return p[c]=createBrowserRegex(c),p},{});BROWSER_REGEX.MSIE=new RegExp(";(MSIE) ([^\\s]+)");var BROWSER_TESTS=[["MSIE"],["Opera",[]],["Seamonkey",[]],["Firefox",["Seamonkey"]],["Chromium",[]],["Chrome",["Chromium"]],["Safari",["Chromium","Chrome"]]].map(function(arr){return createBrowserTest(navigator.userAgent,arr[0],arr[1])});return global[name]={Client:Apigee.Client,Entity:Apigee.entity,Collection:Apigee.collection,Group:Apigee.group,MonitoringClient:Apigee.MonitoringClient,AUTH_CLIENT_ID:Apigee.AUTH_CLIENT_ID,AUTH_APP_USER:Apigee.AUTH_APP_USER,AUTH_NONE:Apigee.AUTH_NONE},global[name].noConflict=function(){return overwrittenName&&(global[name]=overwritte
 nName),Apigee},global[name]}();
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bd74da42/portal/dist/appsvc-ui/bower_components/apigee-sdk/bower.json
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/bower_components/apigee-sdk/bower.json b/portal/dist/appsvc-ui/bower_components/apigee-sdk/bower.json
deleted file mode 100644
index 97470a4..0000000
--- a/portal/dist/appsvc-ui/bower_components/apigee-sdk/bower.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "name": "apigee.sdk",
-  "version": "1.0.0",
-  "main": ["apigee.js","apigee.min.js"],
-  "ignore": [
-    "Gruntfile.js",
-    "*.md",
-    "package.json",
-    "LICENSE",
-    ".gitignore"
-  ]
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bd74da42/portal/dist/appsvc-ui/bower_components/apigee-sdk/samples/collections/css/apigee.min.css
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/bower_components/apigee-sdk/samples/collections/css/apigee.min.css b/portal/dist/appsvc-ui/bower_components/apigee-sdk/samples/collections/css/apigee.min.css
deleted file mode 100644
index 8f685dd..0000000
--- a/portal/dist/appsvc-ui/bower_components/apigee-sdk/samples/collections/css/apigee.min.css
+++ /dev/null
@@ -1,213 +0,0 @@
-/*!
-* jQuery Mobile 1.4.0
-* Git HEAD hash: f09aae0e035d6805e461a7be246d04a0dbc98f69 <> Date: Thu Dec 19 2013 17:34:22 UTC
-* http://jquerymobile.com
-*
-* Copyright 2010, 2013 jQuery Foundation, Inc. and other contributors
-* Released under the MIT license.
-* http://jquery.org/license
-*
-*/
-
-
-/* Globals */
-/* Font
------------------------------------------------------------------------------------------------------------*/
-html {
-	font-size: 100%;
-}
-body,
-input,
-select,
-textarea,
-button,
-.ui-btn {
-	font-size: 1em;
-	line-height: 1.3;
-	 font-family: sans-serif /*{global-font-family}*/;
-}
-legend,
-.ui-input-text input,
-.ui-input-search input {
-	color: inherit;
-	text-shadow: inherit;
-}
-/* Form labels (overrides font-weight bold in bars, and mini font-size) */
-.ui-mobile label,
-div.ui-controlgroup-label {
-	font-weight: normal;
-	font-size: 16px;
-}
-/* Separators
------------------------------------------------------------------------------------------------------------*/
-/* Field contain separator (< 28em) */
-.ui-field-contain {
-	border-bottom-color: #828282;
-	border-bottom-color: rgba(0,0,0,.15);
-	border-bottom-width: 1px;
-	border-bottom-style: solid;
-}
-/* Table opt-in classes: strokes between each row, and alternating row stripes */
-/* Classes table-stroke and table-stripe are deprecated in 1.4. */
-.table-stroke thead th,
-.table-stripe thead th,
-.table-stripe tbody tr:last-child {
-	border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */
-	border-bottom: 1px solid rgba(0,0,0,.1);
-}
-.table-stroke tbody th,
-.table-stroke tbody td {
-	border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback  */
-	border-bottom: 1px solid rgba(0,0,0,.05);
-}
-.table-stripe.table-stroke tbody tr:last-child th,
-.table-stripe.table-stroke tbody tr:last-child td {
-	border-bottom: 0;
-}
-.table-stripe tbody tr:nth-child(odd) td,
-.table-stripe tbody tr:nth-child(odd) th {
-	background-color: #eeeeee; /* non-RGBA fallback  */
-	background-color: rgba(0,0,0,.04);
-}
-/* Buttons
------------------------------------------------------------------------------------------------------------*/
-.ui-btn,
-label.ui-btn {
-	font-weight: bold;
-	border-width: 1px;
-	border-style: solid;
-}
-.ui-btn:link {
-	text-decoration: none !important;
-}
-.ui-btn-active {
-	cursor: pointer;
-}
-/* Corner rounding
------------------------------------------------------------------------------------------------------------*/
-/* Class ui-btn-corner-all deprecated in 1.4 */
-.ui-corner-all {
-	-webkit-border-radius: .6em /*{global-radii-blocks}*/;
-	border-radius: .6em /*{global-radii-blocks}*/;
-}
-/* Buttons */
-.ui-btn-corner-all,
-.ui-btn.ui-corner-all,
-/* Slider track */
-.ui-slider-track.ui-corner-all,
-/* Flipswitch */
-.ui-flipswitch.ui-corner-all,
-/* Count bubble */
-.ui-li-count {
-	-webkit-border-radius: .3125em /*{global-radii-buttons}*/;
-	border-radius: .3125em /*{global-radii-buttons}*/;
-}
-/* Icon-only buttons */
-.ui-btn-icon-notext.ui-btn-corner-all,
-.ui-btn-icon-notext.ui-corner-all {
-	-webkit-border-radius: 1em;
-	border-radius: 1em;
-}
-/* Radius clip workaround for cleaning up corner trapping */
-.ui-btn-corner-all,
-.ui-corner-all {
-	-webkit-background-clip: padding;
-	background-clip: padding-box;
-}
-/* Popup arrow */
-.ui-popup.ui-corner-all > .ui-popup-arrow-guide {
-	left: .6em /*{global-radii-blocks}*/;
-	right: .6em /*{global-radii-blocks}*/;
-	top: .6em /*{global-radii-blocks}*/;
-	bottom: .6em /*{global-radii-blocks}*/;
-}
-/* Shadow
------------------------------------------------------------------------------------------------------------*/
-.ui-shadow {
-	-webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
-	-moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
-	box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
-}
-.ui-shadow-inset {
-	-webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
-	-moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
-	box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/;
-}
-.ui-overlay-shadow {
-	-webkit-box-shadow: 0 0 12px 		rgba(0,0,0,.6);
-	-moz-box-shadow: 0 0 12px 			rgba(0,0,0,.6);
-	box-shadow: 0 0 12px 				rgba(0,0,0,.6);
-}
-/* Icons
------------------------------------------------------------------------------------------------------------*/
-.ui-btn-icon-left:after,
-.ui-btn-icon-right:after,
-.ui-btn-icon-top:after,
-.ui-btn-icon-bottom:after,
-.ui-btn-icon-notext:after {
-	background-color: #666666 /*{global-icon-color}*/;
-	background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/;
-	background-position: center center;
-	background-repeat: no-repeat;
-	-webkit-border-radius: 1em;
-	border-radius: 1em;
-}
-/* Alt icons */
-.ui-alt-icon.ui-btn:after,
-.ui-alt-icon .ui-btn:after,
-html .ui-alt-icon.ui-checkbox-off:after,
-html .ui-alt-icon.ui-radio-off:after,
-html .ui-alt-icon .ui-checkbox-off:after,
-html .ui-alt-icon .ui-radio-off:after {
-	background-color: #666666 /*{global-icon-color}*/;
-	background-color: 					rgba(0,0,0,.15);
-}
-/* No disc */
-.ui-nodisc-icon.ui-btn:after,
-.ui-nodisc-icon .ui-btn:after {
-	background-color: transparent;
-}
-/* Icon shadow */
-.ui-shadow-icon.ui-btn:after,
-.ui-shadow-icon .ui-btn:after {
-	-webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/;
-	-moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/;
-	box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/;
-}
-/* Checkbox and radio */
-.ui-btn.ui-checkbox-off:after,
-.ui-btn.ui-checkbox-on:after,
-.ui-btn.ui-radio-off:after,
-.ui-btn.ui-radio-on:after {
-	display: block;
-	width: 18px;
-	height: 18px;
-	margin: -9px 2px 0 2px;
-}
-.ui-checkbox-off:after,
-.ui-btn.ui-radio-off:after {
-	filter: Alpha(Opacity=30);
-	opacity: .3;
-}
-.ui-btn.ui-checkbox-off:after,
-.ui-btn.ui-checkbox-on:after {
-	-webkit-border-radius: .1875em;
-	border-radius: .1875em;
-}
-.ui-radio .ui-btn.ui-radio-on:after {
-	background-image: none;
-	background-color: #fff;
-	width: 8px;
-	height: 8px;
-	border-width: 5px;
-	border-style: solid; 
-}
-.ui-alt-icon.ui-btn.ui-radio-on:after,
-.ui-alt-icon .ui-btn.ui-radio-on:after {
-	background-color: #000;
-}
-/* Loader */
-.ui-icon-loading {
-	background: url(images/ajax-loader.gif);
-	background-size: 2.875em 2.875em;
-}.ui-bar-a,.ui-page-theme-a .ui-bar-inherit,html .ui-bar-a .ui-bar-inherit,html .ui-body-a .ui-bar-inherit,html body .ui-group-theme-a .ui-bar-inherit{background:#e9e9e9 ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #eeeeee ;font-weight:bold;}.ui-bar-a{border-width:1px;border-style:solid;}.ui-overlay-a,.ui-page-theme-a,.ui-page-theme-a .ui-panel-wrapper{background:#f9f9f9 ;border-color:#bbbbbb ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-body-a,.ui-page-theme-a .ui-body-inherit,html .ui-bar-a .ui-body-inherit,html .ui-body-a .ui-body-inherit,html body .ui-group-theme-a .ui-body-inherit,html .ui-panel-page-container-a{background:#ffffff ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-body-a{border-width:1px;border-style:solid;}.ui-page-theme-a a,html .ui-bar-a a,html .ui-body-a a,html body .ui-group-theme-a a{color:#3388cc ;font-weight:bold;}.ui-page-theme-a a:visited,html .ui-bar-a a:visited,html .ui-body-a a:visited,html body .ui-gr
 oup-theme-a a:visited{   color:#3388cc ;}.ui-page-theme-a a:hover,html .ui-bar-a a:hover,html .ui-body-a a:hover,html body .ui-group-theme-a a:hover{color:#005599 ;}.ui-page-theme-a a:active,html .ui-bar-a a:active,html .ui-body-a a:active,html body .ui-group-theme-a a:active{color:#005599 ;}.ui-page-theme-a .ui-btn,html .ui-bar-a .ui-btn,html .ui-body-a .ui-btn,html body .ui-group-theme-a .ui-btn,html head + body .ui-btn.ui-btn-a,.ui-page-theme-a .ui-btn:visited,html .ui-bar-a .ui-btn:visited,html .ui-body-a .ui-btn:visited,html body .ui-group-theme-a .ui-btn:visited,html head + body .ui-btn.ui-btn-a:visited{background:#f6f6f6 ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-a .ui-btn:hover,html .ui-bar-a .ui-btn:hover,html .ui-body-a .ui-btn:hover,html body .ui-group-theme-a .ui-btn:hover,html head + body .ui-btn.ui-btn-a:hover{background:#ededed ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-a .ui-btn:act
 ive,html .ui-bar-a .ui-btn:active,html .ui-body-a .ui-btn:active,html body .ui-group-theme-a .ui-btn:active,html head + body .ui-btn.ui-btn-a:active{background:#e8e8e8 ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-a .ui-btn.ui-btn-active,html .ui-bar-a .ui-btn.ui-btn-active,html .ui-body-a .ui-btn.ui-btn-active,html body .ui-group-theme-a .ui-btn.ui-btn-active,html head + body .ui-btn.ui-btn-a.ui-btn-active,.ui-page-theme-a .ui-checkbox-on:after,html .ui-bar-a .ui-checkbox-on:after,html .ui-body-a .ui-checkbox-on:after,html body .ui-group-theme-a .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-a:after,.ui-page-theme-a .ui-flipswitch-active,html .ui-bar-a .ui-flipswitch-active,html .ui-body-a .ui-flipswitch-active,html body .ui-group-theme-a .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,.ui-page-theme-a .ui-slider-track .ui-btn-active,html .ui-bar-a .ui-slider-track .ui-btn-active,html .ui-body-a .ui-slider-tr
 ack .ui-btn-active,html body .ui-group-theme-a .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-a .ui-btn-active{background-color:#3388cc ;border-color:#3388cc ;color:#ffffff ;text-shadow:0  1px  0  #005599 ;}.ui-page-theme-a .ui-radio-on:after,html .ui-bar-a .ui-radio-on:after,html .ui-body-a .ui-radio-on:after,html body .ui-group-theme-a .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-a:after{border-color:#3388cc ;}.ui-page-theme-a .ui-btn:focus,html .ui-bar-a .ui-btn:focus,html .ui-body-a .ui-btn:focus,html body .ui-group-theme-a .ui-btn:focus,html head + body .ui-btn.ui-btn-a:focus,.ui-page-theme-a .ui-focus,html .ui-bar-a .ui-focus,html .ui-body-a .ui-focus,html body .ui-group-theme-a .ui-focus,html head + body .ui-btn-a.ui-focus,html head + body .ui-body-a.ui-focus{-webkit-box-shadow:0 0 12px #3388cc ;-moz-box-shadow:0 0 12px #3388cc ;box-shadow:0 0 12px #3388cc ;}.ui-bar-b,.ui-page-theme-b .ui-bar-inherit,html .ui-bar-b .ui-bar-inherit,html .ui-body-b .ui-b
 ar-inherit,html body .ui-group-theme-b .ui-bar-inherit{background:#fc4c02 ;border-color:#8a2901 ;color:#ffffff ;text-shadow:0  1px  0  #444444 ;font-weight:bold;}.ui-bar-b{border-width:1px;border-style:solid;}.ui-overlay-b,.ui-page-theme-b,.ui-page-theme-b .ui-panel-wrapper{background: ;border-color:#bbbbbb ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-body-b,.ui-page-theme-b .ui-body-inherit,html .ui-bar-b .ui-body-inherit,html .ui-body-b .ui-body-inherit,html body .ui-group-theme-b .ui-body-inherit,html .ui-panel-page-container-b{background:#ffffff ;border-color:#8c8c8c ;color:#000000 ;text-shadow:0  1px  0  #eeeeee ;}.ui-body-b{border-width:1px;border-style:solid;}.ui-page-theme-b a,html .ui-bar-b a,html .ui-body-b a,html body .ui-group-theme-b a{color:#3388cc ;font-weight:bold;}.ui-page-theme-b a:visited,html .ui-bar-b a:visited,html .ui-body-b a:visited,html body .ui-group-theme-b a:visited{   color:#3388cc ;}.ui-page-theme-b a:hover,html .ui-bar-b a:hover,html .ui-body-
 b a:hover,html body .ui-group-theme-b a:hover{color:#005599 ;}.ui-page-theme-b a:active,html .ui-bar-b a:active,html .ui-body-b a:active,html body .ui-group-theme-b a:active{color:#005599 ;}.ui-page-theme-b .ui-btn,html .ui-bar-b .ui-btn,html .ui-body-b .ui-btn,html body .ui-group-theme-b .ui-btn,html head + body .ui-btn.ui-btn-b,.ui-page-theme-b .ui-btn:visited,html .ui-bar-b .ui-btn:visited,html .ui-body-b .ui-btn:visited,html body .ui-group-theme-b .ui-btn:visited,html head + body .ui-btn.ui-btn-b:visited{background: #FC4C02  ;border-color:#dddddd ;color:#ffffff ;text-shadow:0  1.5px  0  #000000 ;}.ui-page-theme-b .ui-btn:hover,html .ui-bar-b .ui-btn:hover,html .ui-body-b .ui-btn:hover,html body .ui-group-theme-b .ui-btn:hover,html head + body .ui-btn.ui-btn-b:hover{background:#ededed ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-b .ui-btn:active,html .ui-bar-b .ui-btn:active,html .ui-body-b .ui-btn:active,html body .ui-group-theme-b .ui-bt
 n:active,html head + body .ui-btn.ui-btn-b:active{background:#e8e8e8 ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-b .ui-btn.ui-btn-active,html .ui-bar-b .ui-btn.ui-btn-active,html .ui-body-b .ui-btn.ui-btn-active,html body .ui-group-theme-b .ui-btn.ui-btn-active,html head + body .ui-btn.ui-btn-b.ui-btn-active,.ui-page-theme-b .ui-checkbox-on:after,html .ui-bar-b .ui-checkbox-on:after,html .ui-body-b .ui-checkbox-on:after,html body .ui-group-theme-b .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-b:after,.ui-page-theme-b .ui-flipswitch-active,html .ui-bar-b .ui-flipswitch-active,html .ui-body-b .ui-flipswitch-active,html body .ui-group-theme-b .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,.ui-page-theme-b .ui-slider-track .ui-btn-active,html .ui-bar-b .ui-slider-track .ui-btn-active,html .ui-body-b .ui-slider-track .ui-btn-active,html body .ui-group-theme-b .ui-slider-track .ui-btn-active,html body div.ui-sli
 der-track.ui-body-b .ui-btn-active{background-color:#3388cc ;border-color:#3388cc ;color:#ffffff ;text-shadow:0  1px  0  #005599 ;}.ui-page-theme-b .ui-radio-on:after,html .ui-bar-b .ui-radio-on:after,html .ui-body-b .ui-radio-on:after,html body .ui-group-theme-b .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-b:after{border-color:#3388cc ;}.ui-page-theme-b .ui-btn:focus,html .ui-bar-b .ui-btn:focus,html .ui-body-b .ui-btn:focus,html body .ui-group-theme-b .ui-btn:focus,html head + body .ui-btn.ui-btn-b:focus,.ui-page-theme-b .ui-focus,html .ui-bar-b .ui-focus,html .ui-body-b .ui-focus,html body .ui-group-theme-b .ui-focus,html head + body .ui-btn-b.ui-focus,html head + body .ui-body-b.ui-focus{-webkit-box-shadow:0 0 12px #3388cc ;-moz-box-shadow:0 0 12px #3388cc ;box-shadow:0 0 12px #3388cc ;}.ui-bar-c,.ui-page-theme-c .ui-bar-inherit,html .ui-bar-c .ui-bar-inherit,html .ui-body-c .ui-bar-inherit,html body .ui-group-theme-c .ui-bar-inherit{background:#e9e9e9 ;border-color:#dddddd ;co
 lor:#333333 ;text-shadow:0  1px  0  #eeeeee ;font-weight:bold;}.ui-bar-c{border-width:1px;border-style:solid;}.ui-overlay-c,.ui-page-theme-c,.ui-page-theme-c .ui-panel-wrapper{background:#f9f9f9 ;border-color:#bbbbbb ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-body-c,.ui-page-theme-c .ui-body-inherit,html .ui-bar-c .ui-body-inherit,html .ui-body-c .ui-body-inherit,html body .ui-group-theme-c .ui-body-inherit,html .ui-panel-page-container-c{background:#ffffff ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-body-c{border-width:1px;border-style:solid;}.ui-page-theme-c a,html .ui-bar-c a,html .ui-body-c a,html body .ui-group-theme-c a{color:#3388cc ;font-weight:bold;}.ui-page-theme-c a:visited,html .ui-bar-c a:visited,html .ui-body-c a:visited,html body .ui-group-theme-c a:visited{   color:#3388cc ;}.ui-page-theme-c a:hover,html .ui-bar-c a:hover,html .ui-body-c a:hover,html body .ui-group-theme-c a:hover{color:#005599 ;}.ui-page-theme-c a:active,html
  .ui-bar-c a:active,html .ui-body-c a:active,html body .ui-group-theme-c a:active{color:#005599 ;}.ui-page-theme-c .ui-btn,html .ui-bar-c .ui-btn,html .ui-body-c .ui-btn,html body .ui-group-theme-c .ui-btn,html head + body .ui-btn.ui-btn-c,.ui-page-theme-c .ui-btn:visited,html .ui-bar-c .ui-btn:visited,html .ui-body-c .ui-btn:visited,html body .ui-group-theme-c .ui-btn:visited,html head + body .ui-btn.ui-btn-c:visited{background:#f6f6f6 ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-c .ui-btn:hover,html .ui-bar-c .ui-btn:hover,html .ui-body-c .ui-btn:hover,html body .ui-group-theme-c .ui-btn:hover,html head + body .ui-btn.ui-btn-c:hover{background:#ededed ;border-color:#dddddd ;color:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-c .ui-btn:active,html .ui-bar-c .ui-btn:active,html .ui-body-c .ui-btn:active,html body .ui-group-theme-c .ui-btn:active,html head + body .ui-btn.ui-btn-c:active{background:#e8e8e8 ;border-color:#dddddd ;colo
 r:#333333 ;text-shadow:0  1px  0  #f3f3f3 ;}.ui-page-theme-c .ui-btn.ui-btn-active,html .ui-bar-c .ui-btn.ui-btn-active,html .ui-body-c .ui-btn.ui-btn-active,html body .ui-group-theme-c .ui-btn.ui-btn-active,html head + body .ui-btn.ui-btn-c.ui-btn-active,.ui-page-theme-c .ui-checkbox-on:after,html .ui-bar-c .ui-checkbox-on:after,html .ui-body-c .ui-checkbox-on:after,html body .ui-group-theme-c .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-c:after,.ui-page-theme-c .ui-flipswitch-active,html .ui-bar-c .ui-flipswitch-active,html .ui-body-c .ui-flipswitch-active,html body .ui-group-theme-c .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-c.ui-flipswitch-active,.ui-page-theme-c .ui-slider-track .ui-btn-active,html .ui-bar-c .ui-slider-track .ui-btn-active,html .ui-body-c .ui-slider-track .ui-btn-active,html body .ui-group-theme-c .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-c .ui-btn-active{background-color:#3388cc ;border-color:#3388cc ;color:#ffffff
  ;text-shadow:0  1px  0  #005599 ;}.ui-page-theme-c .ui-radio-on:after,html .ui-bar-c .ui-radio-on:after,html .ui-body-c .ui-radio-on:after,html body .ui-group-theme-c .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-c:after{border-color:#3388cc ;}.ui-page-theme-c .ui-btn:focus,html .ui-bar-c .ui-btn:focus,html .ui-body-c .ui-btn:focus,html body .ui-group-theme-c .ui-btn:focus,html head + body .ui-btn.ui-btn-c:focus,.ui-page-theme-c .ui-focus,html .ui-bar-c .ui-focus,html .ui-body-c .ui-focus,html body .ui-group-theme-c .ui-focus,html head + body .ui-btn-c.ui-focus,html head + body .ui-body-c.ui-focus{-webkit-box-shadow:0 0 12px #3388cc ;-moz-box-shadow:0 0 12px #3388cc ;box-shadow:0 0 12px #3388cc ;}.ui-disabled,.ui-state-disabled,button[disabled],.ui-select .ui-btn.ui-state-disabled{filter:Alpha(Opacity=30);opacity:.3;cursor:default !important;pointer-events:none;}.ui-btn:focus,.ui-btn.ui-focus{outline:0;}.ui-noboxshadow .ui-shadow,.ui-noboxshadow .ui-shadow-inset,.ui-noboxshadow .ui
 -overlay-shadow,.ui-noboxshadow .ui-shadow-icon.ui-btn:after,.ui-noboxshadow .ui-shadow-icon .ui-btn:after,.ui-noboxshadow .ui-focus,.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow  input:focus,.ui-noboxshadow .ui-panel{-webkit-box-shadow:none !important;-moz-box-shadow:none !important;box-shadow:none !important;}.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow .ui-focus{outline-width:1px;outline-style:auto;}
\ No newline at end of file