Super-Bright LED Flashlight

Retest Observations

We retested this app on 19.02.2019. The app doesn’t contact Facebook as soon as the app is opened.

Disclaimer: the tested app may still share data with other third parties. This is outside the scope of this work.

Read more

Is an app for turning your Android device into a flashlight

From the Google Play Store page:

"Super-Bright LED Flashlight instantly turns your device into the brightest led flash light & strongest torch light. The ultimate lighting tool takes full advantage of the camera LED light. Strobe/Blinking Mode is also supported as on a $100 tactical flashlight. Now the brightest led flashlight is Totally FREE! Now Flashlight Download!"

Observed Behaviour

This documentation demonstrates actions taken by the test user and the apps subsequent responses. 

Test user action 1: The user taps on the application icon, which opens the application

Response from app: The application is initialised and the following data is sent and received by the app:

The app sends the following HTTP GET request to graph.facebook.com

GET https://graph.facebook.com/v2.9/651942978220795?fields=supports_implicit_sdk_logging%2Cgdpv4_nux_content%2Cgdpv4_nux_enabled%2Cgdpv4_chrome_custom_tabs_enabled%2Candroid_dialog_configs%2Candroid_sdk_error_categories%2Capp_events_session_timeout%2Capp_events_feature_bitmask%2Cseamless_login%2Csmart_login_bookmark_icon_url%2Csmart_login_menu_icon_url&format=json&sdk=android HTTP/1.1

The app receives the following response to the GET request from graph.facebook.com:

 {
  "supports_implicit_sdk_logging":true,"gdpv4_nux_enabled":false,"gdpv4_chrome_custom_tabs_enabled":true,"android_sdk_error_categories":[ {
    "name":"login_recoverable","items":[ {
      "code":102
    }
    , {
      "code":190
    }
    ],"recovery_message":"Please log in to this app again to reconnect your Facebook account."
  }
  ],"app_events_session_timeout":60,"app_events_feature_bitmask":5,"seamless_login":1,"smart_login_bookmark_icon_url":"https:\/\/static.xx.fbcdn.net\/rsrc.php\/v3\/yh\/r\/HyQ4Fq_iGUX.png","smart_login_menu_icon_url":"https:\/\/static.xx.fbcdn.net\/rsrc.php\/v3\/yR\/r\/xi3BPJ134MF.png","id":"651942978220795"
}

 

Without any further user action, the app sends the following data to graph.facebook.com:

format:                       json
sdk:                          android
event:                        MOBILE_APP_INSTALL
advertiser_id:                474364c6-e9cf-4971-8dd2-b1dc3c605450
advertiser_tracking_enabled:  true
installer_package:            com.android.vending
anon_id:                      XZ880f2469-c17f-427f-8beb-2c605ebadb90
application_tracking_enabled: true
extinfo:                      ["a2","com.surpax.ledflashlight.panel",66,"1.2.7","8.1.0","Nexus 5","en_GB","GMT","",1080,1776,"3.00",4,13,5,"Europe\/London"]
application_package_name:     com.surpax.ledflashlight.panel

The app receives the following response from graph.facebook.com:

 {
  "success":true
}

Without any further user action, the app sends the following request to graph.facebook.com

COPPA:                 false
APPBUILD:              66
KG_RESTRICTED:         false
VALPARAMS:             {"is_emu":"false"}
UNITY:                 false
ACCESSIBILITY_ENABLED: false
APPNAME:                Flashlight
ADAPTERS:              AN
WIDTH:                 -1
NUM_ADS_REQUESTED:     1
SESSION_TIME:          1543947993.285
PLACEMENT_ID:          1516151875324148_2069461499993180
MAKE:                  LGE
REQUEST_TIME:          1543947994.279
CARRIER:               
SDK_CAPABILITY:        [3,4,5,7,11,16,17]
TEMPLATE_ID:           5
CLIENT_REQUEST_ID:     d4d98916-5c0c-4748-99d8-e0f3835f60b7
DENSITY:               3.0
M_BANNER_KEY:          Y29tLnN1cnBheC5sZWRmbGFzaGxpZ2h0LnBhbmVsIGNvbS5hbmRyb2lkLnZlbmRpbmc=
SCREEN_HEIGHT:         592
SDK_VERSION:           4.28.1-Bidding-Beta
SCREEN_WIDTH:          360
ID_SOURCE:             
REQUEST_TYPE:          0
SDK:                   android
OSVERS:                8.1.0
CLIENT_EVENTS:         
OS:                    Android
ANALOG:                {"charging":"1","available_memory":"879951872","battery":"99.0","free_space":"5650038784"}
PLACEMENT_TYPE:        banner
ROOTED:                2
MODEL:                 Nexus 5
HEIGHT:                50
BUNDLE:                com.surpax.ledflashlight.panel
ASHAS:                 5da8e10e3a437f8dc312bc74196e75cacf518957;
LOCALE:                en_GB
NETWORK_TYPE:          1
IDFA:                  474364c6-e9cf-4971-8dd2-b1dc3c605450
ATTRIBUTION_ID:        
APPVERS:               1.2.7
INSTALLER:             com.android.vending
IDFA_FLAG:             1
SESSION_ID:            fde39a66-2c8e-434b-b882-f31c295eb351

(The request contains the following User Agent)

user-agent:	Mozilla/5.0 (Linux; Android 8.1.0; Nexus 5 Build/OPM4.171019.021.P1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Mobile Safari/537.36 [FBAN/AudienceNetworkForAndroid;FBSN/Android;FBSV/8.1.0;FBAB/com.surpax.ledflashlight.panel;FBAV/1.2.7;FBBV/66;FBVS/4.28.1-Bidding-Beta;FBLC/en_GB]

The app receives the following response from graph.facebook.com:

{
  "type": "ads",
     "code": 0,
     "placements": [ {
    "definition": {
      "placement_id": "1516151875324148_2069461499993180",
                  "type": "banner",
                  "refresh": "0",
                  "refresh_threshold": "-1",
                  "min_viewability_percentage": "1",
                  "viewability_check_ticker": "0",
                  "viewability_check_interval": "100",
                  "viewability_check_initial_delay": "0",
                  "video_time_polling_interval": "200",
                  "cacheable": true,
                  "client_max_retry_count": "1",
                  "invalidation_duration_in_seconds": "3600",
                  "conv_tracking_data": [ {
        "url": "//.facebook.com",
                          "key": "fr",
                          "value": "2DwddfEmk0IntiYgm.AWVrYyxAjNACJ1HU8qHYVpV39b8.BcBsba..AAA.0.0.BcBsba.AWWBESA0",
                          "expiration": "1551723994"
      }
      , {
        "url": "//.atdmt.com",
                          "key": "ATX",
                          "value": "e24a7288e3f27b7dc8ea313877c387726830eab3",
                          "expiration": "1551723994"
      }
      ]
    }
    ,
             "feature_config": {
      "adnw_android_video_caching_enabled": "true",
                  "adnw_enable_exoplayer": "false",
                  "adnw_enable_iab": "true",
                  "adnw_debug_logging": "true",
                  "adnw_block_lockscreen": "false",
                  "adnw_enable_debug_overlay": "false",
                  "adnw_ios_use_store_url": "true",
                  "adnw_client_request_id_enabled": "false",
                  "adnw_native_cookie_injection": "false",
                  "adnw_top_activity_viewability": "false",
                  "adnw_enhanced_viewability_area_check": "false",
                  "adnw_ios_watch_and_install": "false",
                  "adnw_android_disable_playable_precache": "false",
                  "adnw_android_disable_blur": "false",
                  "adnw_android_memory_opt": "true",
                  "adnw_viewability_check_area_based": "false",
                  "adnw_mapp_markup_impression_after_image_load": "false",
                  "adnw_ios_blur_images_enabled": "false",
                  "adnw_enable_inline_x_out_on_sdk": "true",
                  "adnw_android_wo_bot_detection_enabled": "false",
                  "adnw_unique_db_name_per_process": "true",
                  "adnw_enable_rage_shake": "false",
                  "adnw_enable_inline_x_out_non_fullscreen_on_sdk": "false",
                  "adnw_arrows_instead_of_x_skip_button": "true",
                  "adnw_ios_wo_bot_detection_enabled": "false",
                  "adnw_ios_wo_idfa_enabled": "false",
                  "adnw_ios_wo_bot_detection_dogfooding": "false",
                  "adnw_should_fail_on_cleartext_http_blocked": "true",
                  "adnw_use_iosurface_player_layer": "false",
                  "adnw_ios_wo_network_signal_enabled": "false",
                  "adnw_show_cta_in_rv_pre_endcards": "false",
                  "adnw_fail_ad_load_on_cache_failure": "true",
                  "adnw_images_in_display_size": "true",
                  "unified_logging_immediate_delay_ms": "2000",
                  "additional_debug_logging_sampling_percentage": "0",
                  "additional_debug_logging_black_list_percentage": "0",
                  "additional_debug_logging_black_list": "[]",
                  "ad_viewability_tap_margin": "0",
                  "minimum_elapsed_time_after_impression": "-1",
                  "visible_area_check_enabled": "false",
                  "visible_area_percentage": "50",
                  "disable_in_app_app_store": "true",
                  "unified_logging_event_limit": "30",
                  "video_and_endcard_autorotate": "autorotate_enabled",
                  "stack_trace_sample_rate": "100",
                  "show_metadata_rewarded_video": "true",
                  "show_play_pause_rewarded_video": "true",
                  "wo_bot_detection_config": "s:30,a:0",
                  "wo_ios_sampling_rate": "30",
                  "adnw_log_interstitial_cache_result": "true",
                  "adnw_native_carousel_aspect_ratio": "1.15",
                  "adnw_native_carousel_compact_threshold": "225",
                  "adnw_ios_wo_network_signal_url": "https://s.update.fbsbx.com/843748/gs?dt=8437481537452023477000",
                  "adnw_ios_wo_network_signal_sampling_rate": "0",
                  "adnw_ios_wo_network_signal_large_payload_enabled": "false",
                  "adnw_disable_dependencies_check": "false",
                  "adnw_time_to_wait_for_video_prepared_ms": "3000",
                  "adnw_logging_endpoint_prefix": "www"
    }
    ,
             "ads": [ {
      "adapter": "AN",
                     "data": {
        "markup": "\u003C!DOCTYPE html>\u003Chtml>\u003Chead>\u003Cbase target=\"_parent\" />\u003Cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\u003Cmeta name=\"viewport\" content=\"initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover\"/>\u003C/head>\n\u003Cbody class=\"chrome webkit x1 Locale_en_GB _1_uk\" dir=\"ltr\">\u003Cstyle type=\"text/css\">\u003C/style>\u003Cspan>\u003Cscript>(function(){window.facebookAdCanary={},window.facebookAd={setupAd:function(){window.facebookAdCanary.setupAd=!0},sendImpression:function(){window.facebookAdCanary.sendImpression=!0}}})();(function(){window.fbOffsiteAdCore={create:function(){var a={anchorId:null,startX:null,startY:null,endX:null,endY:null,clickX:null,clickY:null,radiusX:null,radiusY:null,force:null,startTime:null,endTime:null,width:null,height:null};return{_clickCallback:function(){return!0},_touchStartCallback:function(){return!0},_touchMoveCallback:function(){return!0},_touchEndCallback:function(){return!0},init:function(a,b,c,d){a&&(this._clickCallback=a),b&&(this._touchStartCallback=b),c&&(this._touchMoveCallback=c),d&&(this._touchEndCallback=d)},register:function(a){if(!a)return;var b={click:this._handleClick.bind(this,a),mousedown:this._handleTouchStart.bind(this,a),touchstart:this._handleTouchStart.bind(this,a),mousemove:this._handleTouchMove.bind(this,a),touchmove:this._handleTouchMove.bind(this,a),mouseup:this._handleTouchEnd.bind(this,a),touchend:this._handleTouchEnd.bind(this,a)};for(var c in b)a.addEventListener(c,b[c],!1)},hasClass:function(a,b){return(\" \"+a.className+\" \").indexOf(\" \"+b+\" \")>-1},getTouchData:function(){return a},isTouchClick:function(){var b=Math.abs(a.startX-a.endX)\u003C30&&Math.abs(a.startY-a.endY)\u003C30&&a.endTime-a.startTime\u003C300;return b},_handleClick:function(b,c){a.clickX=c.x;a.clickY=c.y;a.anchorId=b.id;var d=b.getBoundingClientRect();a.width=d.width;a.height=d.height;return this._clickCallback(b,c)},_handleTouchStart:function(b,c){a.startTime=new Date().getTime();c.touches?(a.startX=c.touches[0].pageX,a.startY=c.touches[0].pageY,a.radiusX=c.touches[0].radiusX,a.radiusY=c.touches[0].radiusY,a.force=c.touches[0].force):(a.startX=c.pageX,a.startY=c.pageY);return this._touchStartCallback(b,c)},_handleTouchMove:function(a,b){return this._touchMoveCallback(a,b)},_handleTouchEnd:function(b,c){a.endTime=new Date().getTime();c.changedTouches?(a.endX=c.changedTouches[0].pageX,a.endY=c.changedTouches[0].pageY):(a.endX=c.pageX,a.endY=c.pageY);return this._touchEndCallback(b,c)},logElement:function(b,c,d){b=b.dataset.link;if(b===null||b===\"#\")return;c&&(b=this._addParam(b,\"touch\",JSON.stringify(a)));d&&(b=this._addParam(b,\"bf\",d));b=this._addAnalogInfoParam(b);c=new XMLHttpRequest();c.open(\"GET\",b,!0);c.send()},_addAnalogInfoParam:function(a){typeof AdControl!==\"undefined\"&&typeof AdControl.getAnalogInfo===\"function\"&&(a=this._addParam(a,\"analog\",AdControl.getAnalogInfo()));return a},_addParam:function(a,b,c){if(c===null||c===void 0)return a;var d=a.indexOf(\"?\")!=-1?\"&\":\"?\";return a+d+b+\"=\"+encodeURIComponent(c)}}}}})();(function(){var a=1;window.fbOffsiteAdVideo={create:function(b){var c=b;function d(a){if(a.webkitDisplayingFullscreen)return!0;var b=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement;return b===a}function e(a,b){var c={};c.time=b.endTime;c.ptime=b.startTime;c.inline=d(a)?\"0\":\"1\";c.autoplay=a.autoplay?\"1\":\"0\";c.volume=a.volume;b=[];for(var e in c)b.push(encodeURIComponent(e)+\"=\"+encodeURIComponent(c[e]));return b.join(\"&\")}function f(a,b,d){if(d.seeking)return;if(a){d.endTime=b.currentTime;if(d.startTime>=d.endTime)return;var f=a.dataset.link;a.dataset.link=f+\"&\"+e(b,d);c.logElement(a,!1);a.dataset.link=f;d.startTime=d.endTime}}return{init:function(){var b=document.getElementById(\"video\"),c=document.getElementsByClassName(\"videoRoot\");c=c.length>0?c[0]:null;var d=c&&c.getElementsByClassName(\"background\");d=d&&d.length>0?d[0]:null;var e=d&&d.style.backgroundImage,g=c&&c.getElementsByClassName(\"playButton\");g=g&&g.length>0?g[0]:null;if(b){b.setAttribute(\"webkit-playsinline\",\"true\");var h=document.getElementById(\"contentRow\"),i={startTime:0,endTime:0,seeking:!1},j=document.getElementById(\"videoTimeLink\");b.addEventListener(\"play\",function(a){b.autoplay=!1,h&&(h.style.display=\"none\")});b.addEventListener(\"ended\",function(a){b.autoplay=!1,h&&(h.style.display=\"block\"),f(j,b,i),b.src=b.currentSrc,g&&d&&(g.style.display=\"block\",d.style.backgroundImage=e,b.style.opacity=0,b.style.visibility=\"hidden\"),b.exitFullscreen?b.exitFullscreen():b.mozCancelFullScreen?b.mozCancelFullScreen():b.webkitExitFullscreen&&b.webkitExitFullscreen()});b.addEventListener(\"pause\",function(a){f(j,b,i),h&&(h.style.display=\"block\")});b.addEventListener(\"timeupdate\",function(c){i.startTime>b.currentTime&&(i.startTime=b.currentTime),b.currentTime>=i.startTime+a&&f(j,b,i)});b.addEventListener(\"seeked\",function(a){i.startTime=b.currentTime,i.seeking=!1});b.addEventListener(\"seeking\",function(a){i.seeking=!0});c&&(g&&g.addEventListener(\"click\",function(a){g.style.display=\"none\",d&&(d.style.backgroundImage=null,b.style.opacity=1,b.style.visibility=\"visible\",b.play())}))}},pause:function(){var a=document.getElementById(\"video\");a&&a.pause()}}}}})();(function(){window.facebookAdSimulateClick={create:function(a){var b=a,c=!1;return{_clickCallback:function(){return!0},_touchStartCallback:function(){return!0},_touchMoveCallback:function(){return!0},_touchEndCallback:function(){return!0},init:function(a,c,d,e){a&&(this._clickCallback=a),c&&(this._touchStartCallback=c),d&&(this._touchMoveCallback=d),e&&(this._touchEndCallback=e),b.init(this._clickCallback.bind(this),this._handleTouchStart.bind(this),this._handleTouchMove.bind(this),this._handleTouchEnd.bind(this))},register:function(a){if(!a)return;b.register(a)},useBoundingClientRectComputation:function(){c=!0},_handleTouchStart:function(a,b){b.preventDefault();this._touchStartCallback(a,b);return!1},_handleTouchMove:function(a,b){b.preventDefault();this._touchMoveCallback(a,b);return!1},_handleTouchEnd:function(a,c){c.preventDefault();this._touchEndCallback(a,c);c=b.getTouchData();b.isTouchClick()&&this._simulateClickEvent(a,c.endX,c.endY);return!1},_simulateClickEvent:function(a,c,d){if(this._isPointInsideElement(a,c,d)){c=b.getTouchData();var event;window.SimulateClickWithMouseEvent?(event=document.createEvent(\"MouseEvent\"),event.initMouseEvent(\"click\",!0,!0,window,1,c.endX,c.endY,c.endX,c.endY,!1,!1,!1,!1,0,null)):(event=document.createEvent(\"Event\"),event.initEvent(\"click\",!0,!0),event.target=a,event.x=c.endX,event.y=c.endY);a.dispatchEvent?(a.dispatchEvent(event),window.SimulateClickOnAnchor&&a.click()):window.SimulateClickOnAnchor&&a.click()}},_isPointInsideElement:function(a,b,d){var e=a,f=e.offsetLeft,g=e.offsetTop,h=e.getBoundingClientRect();while(e=e.offsetParent)f+=e.offsetLeft,g+=e.offsetTop;g=g===h.top?g:h.top;c==!0&&(f=h.left);e=20;h=b>=f-e&&b\u003C=f+a.offsetWidth+e&&d>=g-e&&d\u003C=g+a.offsetHeight+e;return h}}}}})();\u003C/script>\u003Cstyle>._1_uk{bottom:0;left:0;margin:0;padding:0;position:absolute;right:0;top:0;transform-style:preserve-3d}._1_uk .fbOffsiteAdLink{display:block}\u003C/style>\u003Cstyle>._44gg .fbAdBanner{background-color:#fff;font-family:Helvetica, Arial, sans-serif;height:50px;overflow:hidden;position:absolute;width:100\u0025}._nms ._44gg .fbAdBanner{background-color:rgba(0, 0, 0, 0)}._44gg .fbAdBanner .hidden{visibility:hidden}._44gg .fbAdBanner a{height:100\u0025;-webkit-tap-highlight-color:transparent;text-decoration:none;-webkit-touch-callout:none;width:100\u0025}._44gg .fbAdBanner .iconClickableArea{height:50px;position:absolute;width:50px;z-index:4}._44gg .fbAdBanner .fbAdLink{display:block}._44gg .fbAdBanner .fbAdLinkInline{display:inline-block}._44gg .fbAdBanner .storeClickArea{position:absolute;z-index:2}._44gg .fbAdBanner .secondClickOverlay{background-color:rgba(0, 0, 0, .5);height:50px;left:0;position:absolute;top:0;width:100\u0025;z-index:4}._44gg .fbAdBanner .hidden{visibility:hidden}._44gg .fbAdBanner .bannerContainer{border:none;border-collapse:collapse;border-spacing:0;height:50px;overflow:hidden;width:100\u0025}._44gg .fbAdBanner .bannerContainer div{font-family:Helvetica, Arial, sans-serif;overflow:hidden}._44gg .fbAdBanner .bannerImageContainer{margin-left:auto;margin-right:auto;width:320px}._44gg .fbAdBanner .bannerImageContainer .banner{height:50px;width:320px}._44gg .fbAdBanner .iconContainer{float:left;height:50px;position:relative;width:50px;z-index:3}._44gg .fbAdBanner .icon{height:100\u0025;width:100\u0025}._44gg .fbAdBanner .contentContainer{padding-right:4px;vertical-align:top}._44gg .fbAdBanner .cardContainer{box-sizing:border-box;color:#000;position:relative;width:100\u0025}._nms ._44gg .fbAdBanner .cardContainer{color:#fff}._44gg .fbAdBanner .cardContainer .title{color:#444950;font-size:14px;font-weight:bold;line-height:18px;overflow:hidden;padding:8px 0 0 4px;text-overflow:ellipsis;white-space:nowrap}._nms ._44gg .fbAdBanner .cardContainer .title{color:#fff}._44gg .fbAdBanner .cardContainer .rating{font-size:10px;line-height:12px;padding:2px 0 0 4px}._44gg .fbAdBanner .cardContainer .rating .star{font-size:11px;font-weight:normal}._44gg .fbAdBanner .cardContainer .rating .empty{color:antiquewhite}._44gg .fbAdBanner .cardContainer .rating .full{color:orange}._44gg .fbAdBanner .cardContainer .contextSentence{color:#4b4f56;font-size:10px;font-weight:normal;height:12px;line-height:12px;overflow:hidden;padding:2px 0 0 4px}._nms ._44gg .fbAdBanner .cardContainer .contextSentence{color:#fff}._44gg .fbAdBanner .body{color:#4b4f56;display:table-cell;font-size:10px;height:50px;line-height:12px;max-height:36px;overflow:hidden;padding-left:4px;vertical-align:middle;word-break:break-word}._nms ._44gg .fbAdBanner .body{color:#fff}._44gg .fbAdBanner .buttonContainer{min-width:80px;position:absolute;right:0;z-index:4}._44gg .fbAdBanner .centered{left:0;margin-left:auto;margin-right:auto;max-width:160px}._44gg .fbAdBanner .placeholderContainer{float:right;min-width:80px;position:relative;z-index:2}._44gg .fbAdBanner .actionButton{background:-webkit-linear-gradient(#6eb83e, #4ca71d);background:linear-gradient(#6eb83e, #4ca71d);border-radius:4px;color:#fff;font-size:14px;font-style:normal;font-weight:bold;line-height:18px;margin:8px 6px;padding:8px 5px;text-align:center;transition:all .2s}._44gg .fbAdBanner .actionButton.amend{border-radius:initial;margin-bottom:0;margin-left:0;margin-right:0;margin-top:0;padding:16px 12px}._44gg .fbAdBanner .actionButton.amend.compact{padding:16px 10px}._44gg .fbAdBanner .actionButton:active{background:linear-gradient(#a6d38e, #6eb83e)}._44gg .fbAdBanner .actionButton img{display:none;margin-right:8px;width:14px}._44gg .fbAdBanner .actionButton.amend img{display:inline;margin-right:0;width:0}._44gg .fbAdBanner .expanded .actionButton{padding:8px 20px}._44gg .fbAdBanner .expanded .actionButton.amend{padding:16px 20px}._44gg .fbAdBanner .expanded .actionButton img{display:inline}._44gg .fbAdBanner .expanded .actionButton.amend img{margin-right:8px;width:14px}._44gg .fbAdBanner .actionButton em{font-style:normal}._44gg .fbAdBanner .card{box-sizing:border-box;overflow:hidden;position:relative;width:100\u0025}._44gg .fbAdBanner .card1{animation:card1frames 15s infinite;box-sizing:border-box;height:50px;overflow:hidden;position:absolute;width:100\u0025}._44gg .fbAdBanner .card2{animation:card2frames 15s infinite;box-sizing:border-box;height:50px;overflow:hidden;position:absolute;width:100\u0025}._44gg .fbAdBanner .card3{animation:card3frames 15s infinite;box-sizing:border-box;height:50px;overflow:hidden;position:relative;width:100\u0025}\u0040keyframes card1frames{0\u0025,22\u0025,100\u0025{top:0;visibility:visible}25\u0025{top:-100px;visibility:hidden}97\u0025{top:100px;visibility:hidden}}\u0040keyframes card2frames{0\u0025,47\u0025,100\u0025{top:100px;visibility:hidden}50\u0025,72\u0025{top:0;visibility:visible}75\u0025{top:-100px;visibility:hidden}}\u0040keyframes card3frames{0\u0025,22\u0025,72\u0025{top:100px;visibility:hidden}25\u0025,47\u0025,75\u0025,97\u0025{top:0;visibility:visible}50\u0025,100\u0025{top:-100px;visibility:hidden}}\u003C/style>\u003Cdiv class=\"_44gg\">\u003Cdiv class=\"fbAdBanner\">\u003Cdiv class=\"bannerContainer\">\u003Cdiv class=\"iconContainer\">\u003Cimg class=\"icon\" src=\"https://external.xx.fbcdn.net/safe_image.php?d=AQDrTCbLymAe_THk&w=128&h=128&url=https\u00253A\u00252F\u00252Flh3.googleusercontent.com\u00252FaYbdIM1abwyVSUZLDKoE0CDZGRhlkpsaPOg9tNnBktUQYsXflwknnOn2Ge1Yr7rImGk\u00253Ds180&_nc_hash=AQDwLWFL3kB3c7P3\" />\u003C/div>\u003Ca class=\"fbOffsiteAdLink fbAdLink iconClickableArea\" href=\"fbad://store?store_id=com.instagram.android&store_url=market\u00253A\u00252F\u00252Fdetails\u00253Fid\u00253Dcom.instagram.android&store_url_web_fallback=http\u00253A\u00252F\u00252Fplay.google.com\u00252Fstore\u00252Fapps\u00252Fdetails\u00253Fid\u00253Dcom.instagram.android&appsite_data=\u00257B\u002522android\u002522\u00253A\u00255B\u00255D\u00257D&data=\u00257B\u00257D\" id=\"fbAdIconLink\">\u003C/a>\u003Cdiv class=\"placeholderContainer amend\">\u003Cdiv class=\"actionButton amend\">\u003Cspan class=\"buttonText\">Install\u003C/span>\u003C/div>\u003C/div>\u003Cdiv class=\"buttonContainer amend\">\u003Ca class=\"fbOffsiteAdLink fbAdLinkInline buttonClickableArea\" href=\"fbad://store?store_id=com.instagram.android&store_url=market\u00253A\u00252F\u00252Fdetails\u00253Fid\u00253Dcom.instagram.android&store_url_web_fallback=http\u00253A\u00252F\u00252Fplay.google.com\u00252Fstore\u00252Fapps\u00252Fdetails\u00253Fid\u00253Dcom.instagram.android&appsite_data=\u00257B\u002522android\u002522\u00253A\u00255B\u00255D\u00257D&data=\u00257B\u00257D\" id=\"fbAdLink\">\u003Cdiv class=\"actionButton amend\">\u003Cimg src=\"https://static.xx.fbcdn.net/rsrc.php/v3/yO/r/kcyTYUIz5fr.png\" />\u003Cspan class=\"buttonText\">Install\u003C/span>\u003C/div>\u003C/a>\u003C/div>\u003Cdiv class=\"contentContainer\">\u003Ca class=\"storeClickArea\" id=\"fbAdNonStoreLink\" href=\"fbad://passthrough?type=off_target_click&priority=1\">\u003C/a>\u003Cdiv class=\"cardContainer\">\u003Cdiv class=\"card1\">\u003Cdiv class=\"title\">Instagram\u003C/div>\u003Cdiv class=\"contextSentence\">FREE \u00b7 Over 68 million people use this\u003C/div>\u003C/div>\u003Cdiv class=\"card2\">\u003Cdiv class=\"title\">Instagram\u003C/div>\u003Cdiv class=\"contextSentence\">FREE \u00b7 Over 68 million people use this\u003C/div>\u003C/div>\u003Cdiv class=\"card3\">\u003Cdiv class=\"body\">Share and discover the world on Instagram\u003C/div>\u003C/div>\u003C/div>\u003C/div>\u003C/div>\u003C/div>\u003Cdiv class=\"_4xq- botleft\">\u003Cstyle>._4xq-{background-color:rgba(0, 0, 0, .7);position:absolute;z-index:5;font-size:0;line-height:0}._4xq-.botleft,._4xq-.botLeft{border-top-right-radius:8px;bottom:0;left:0}._4xq-.botleftIPhoneSafeArea{bottom:constant(safe-area-inset-bottom);bottom:env(safe-area-inset-bottom);left:constant(safe-area-inset-left);left:env(safe-area-inset-left)}._4xq-.topleft,._4xq-.topLeft{border-bottom-right-radius:8px;left:0;top:0}._4xq-.topleftIPhoneSafeArea{left:constant(safe-area-inset-left);left:env(safe-area-inset-left);top:constant(safe-area-inset-top);top:env(safe-area-inset-top)}._4xq- a.caption{box-sizing:border-box;color:#c6c9cc;display:inline-block;font-family:Arial, Sans-serif;font-size:10px;font-weight:normal;height:10px;line-height:10px;overflow:hidden;padding:0 0 0 4px;transition:.3s;width:55px}._4xq- a.collapsed{padding-left:0;visibility:hidden;width:1px}._4xq- img{height:12px;padding:2px 2px 2px 1px;width:12px}\u003C/style>\u003Ca class=\"caption collapsed\" href=\"https://m.facebook.com/ads/ad_choices/?ad_token=AI\u002540f7a2f0b2cb0ba9c1688e17010f69fc21\" id=\"adChoicesCaption\" target=\"_blank\"> AdChoices \u003C/a>\u003Cimg id=\"adChoicesImage\" src=\"https://static.xx.fbcdn.net/rsrc.php/v3/yO/r/KoWCGepSBrB.png\" />\u003Cscript>(function(){var a=document.getElementById(\"adChoicesImage\"),b=document.getElementById(\"adChoicesCaption\");if(!a||!b)return;a.addEventListener(\"click\",function(a){b.classList.remove(\"collapsed\");setTimeout(function(){b.classList.add(\"collapsed\")},3e3);return!0},!1)})();\u003C/script>\u003C/div>\u003C/div>\u003Cscript>window.SimulateClickOnAnchor = true;window.SDKCurrentCapabilities = [3,4,5,7,11,16,17];window.SDKCapabilitiesEnum = {\"APP_AD_V1\":0,\"LINK_AD_V1\":1,\"APP_AD_V2\":2,\"LINK_AD_V2\":3,\"APP_ENGAGEMENT_AD\":4,\"AD_CHOICES\":5,\"JS_TRIGGER\":6,\"JS_TRIGGER_NO_AUTO_IMP_LOGGING\":7,\"VIDEO_AD\":8,\"INLINE_VIDEO_AD\":9,\"BANNER_TO_INTERSTITIAL_DEPRECATED\":10,\"NATIVE_CLOSE_BUTTON_DEPRECATED\":11,\"TRANSPARENT_INTERSTITIAL_BORDER_DEPRECATED\":12,\"JS_LOGGING_ONLY\":13,\"FORCE_WEB_FALLBACK\":15,\"UNIFIED_LOGGING\":16,\"HTTP_LINKS\":17};window.ClickMinElapsedTimeAfterImp = 1000;window.SimulateClickEvent = false;(function(){var a=window.fbOffsiteAdCore.create(),b=window.fbOffsiteAdVideo?window.fbOffsiteAdVideo.create(a):null,c=document.getElementsByClassName(\"fbOffsiteAdLink\"),d=document.getElementById(\"fbAdLoggingAnchor\"),e=document.getElementById(\"fbAdLink\"),f=document.getElementsByClassName(\"storeClickArea\"),g=null,h=null,i=!1;window.facebookAd={_handleClick:function(c,d){d=a.hasClass(c,\"fbOffsiteAdLink\");d&&b&&b.pause();if(!d&&e&&e.classList){g&&clearTimeout(g);e.classList.add(\"expanded\");g=setTimeout(function(){e.classList.remove(\"expanded\")},2e3);d=document.getElementById(\"ctaCoverArea\");if(d){var f=document.getElementById(\"adContainer\");d.style.display===\"block\"?(d.style.display=\"none\",f&&(f.style.filter=\"none\",f.style.WebkitFilter=\"none\")):(d.style.display=\"block\",f&&(f.style.filter=\"blur(5px)\",f.style.WebkitFilter=\"blur(5px)\"))}else{d=document.getElementById(\"ctaButton\");d&&(d.classList.contains(\"ctaButton\")?(d.classList.remove(\"ctaButton\"),d.classList.add(\"ctaButtonActivated\")):(d.classList.remove(\"ctaButtonActivated\"),d.classList.add(\"ctaButton\")))}}a.logElement(c,!0);return!0},initialize:function(){b&&b.init();var a=document.getElementsByClassName(\"actionButton\");if(window.outerWidth\u003C375)for(var c=0;c\u003Ca.length;c++){var d=a[c];d.classList.add(\"compact\")}},_listenClickEvents:function(){var b=a;window.SimulateClickEvent&&(b=window.facebookAdSimulateClick.create(a));b.init(this._handleClick.bind(this));for(var d=0;d\u003Cc.length;d++)b.register(c[d]);for(d=0;d\u003Cf.length;d++)b.register(f[d])},_maybeEnableTwoStepConfirmation:function(){var a=document.getElementById(\"twoStepDialogContainer\");if(a===null)return;var b=this;a=e.getBoundingClientRect();var c=document.createElement(\"div\");c.style.position=\"absolute\";c.style.left=a.x+\"px\";c.style.top=a.y+\"px\";c.style.width=a.width+\"px\";c.style.height=a.height+\"px\";c.style.zIndex=\"10\";document.body.appendChild(c);a=function(){document.body.removeChild(c),b._showDialog()};c.addEventListener(\"click\",a,!1)},_showDialog:function(){var a=document.getElementById(\"twoStepDialogContainer\");a.style.visibility=\"visible\";var b=function(c){a.parentNode.removeChild(a),document.getElementById(\"twoStepDialogCancelButton\").removeEventListener(\"click\",b,!1)};document.getElementById(\"twoStepDialogCancelButton\").addEventListener(\"click\",b,!1)},_enableClickguard:function(){var a=window.ClickMinElapsedTimeAfterImp;a>=0&&(h&&clearTimeout(h),h=setTimeout(this._setAllFbOffsiteAdLinksClickable,a))},setupAd:function(){if(i)return;this._listenClickEvents();try{this._setupAutoShift()}catch(a){}this._enableClickguard();this._maybeEnableTwoStepConfirmation();i=!0},_sendImpressionSignalToSDK:function(){var a=document.getElementById(\"fbAdMainMedia\");if(!a.complete||a.naturalHeight===0)return;a=!0;try{AdControl}catch(b){b.name==\"ReferenceError\"&&(a=!1)}a?AdControl.onMainAssetLoaded():d!==null&&d.click()},_setupAutoShift:function(){var a=document.getElementById(\"dynamicBanner\");if(!a)return;var b=a.offsetWidth;if(b===0){setTimeout(this._setupAutoShift.bind(this),300);return}var c=a.parentElement.offsetWidth;b=b-c;c=-c/2;var d=c-b;b=c-b/2;b=\"\u0040-webkit-keyframes autoShiftFrames { 0\u0025, 100\u0025 { -webkit-transform: translate(\"+b+\"px, 0); } 25\u0025 { -webkit-transform: translate(\"+d+\"px, 0); } 75\u0025 { -webkit-transform: translate(\"+c+\"px, 0); } }\";document.styleSheets.length&&(document.styleSheets[0].insertRule(b,0),a.classList.add(\"autoShift\"))},_setAllFbOffsiteAdLinksClickable:function(){for(var a=0;a\u003Cc.length;a++){var b=c[a],d=b.dataset.hiddenlink;d&&(b.dataset.link=b.dataset.hiddenlink,b.dataset.hiddenlink=\"#\");d=b.dataset.hiddenhref;d&&(b.setAttribute(\"href\",b.dataset.hiddenhref),b.dataset.hiddenhref=\"#\")}}};window.facebookAd.initialize()})();(function(){window.facebookAdCanary&&window.facebookAdCanary.setupAd&&window.facebookAd.setupAd(),window.facebookAdCanary&&window.facebookAdCanary.sendImpression&&window.facebookAd.sendImpression(),typeof AdControl!==\"undefined\"&&typeof AdControl.onPageInitialized===\"function\"&&AdControl.onPageInitialized()})();(function(){var a=window.fbOffsiteAdCore.create(),b=window.fbOffsiteAdVideo?window.fbOffsiteAdVideo.create(a):null,c=window.facebookAdSimulateClick.create(a),d=document.getElementsByClassName(\"closeClickArea\");c.init(function(c,d){b&&b.pause(),a.logElement(c,!0)});for(var e=0;e\u003Cd.length;e++)c.register(d[e])})();\u003C/script>\u003C/span>\u003Cscript>\u003C/script>\u003C/body>\u003C/html>",
                          "invalidation_behavior": "installed",
                          "detection_strings": "[\"com.instagram.android\"]",
                          "activation_command": "facebookAd.setupAd();",
                          "native_impression_report_url": "",
                          "invalidation_report_url": "",
                          "metadata": {
          "is_tablet": false,
                               "ad_height": "50",
                               "ad_width": "0",
                               "viewability_check_interval": "100",
                               "viewability_check_initial_delay": "0",
                               "orientation": "1",
                               "is_video": false
        }
        ,
                          "request_id": "739ecb0c-344a-4d71-09a3-f1eb8ed1b08e",
                          "skip_after_seconds": "0",
                          "ct": "AQKa8U2w4q2estX3OssrTmKdQlB-teJvNwr8AjoBqX7fDyKdan3Uka9oiakyGKI_eg5C0TAFWTzkNUY1OV6pqYogP1HNkSlRrD6ys5Cw8JJ11zb5FrId9BecH4a6_C7x1Dxng0di7WAsZQlcia2efZQz9NAWEUONL9paA2dl_84RvLzIshPdAkFl_gLMG4Np4v8XgZLS6oHUig0CywV14_s4_QE15VRJRB5uI8m_UUcFgYgQChtVnY3KNXGbYRA1DcdqxWW4cLgm87PMSrfE-egSJcc1yhAnTr4GrirSZkmcwqL1bwteBUsnuYNx-9FbjRGeK6YvnwDER3MXIqmdRD11cxLh6-MfFxKFgXBmYhNKczGUgMmb9AJC8QMwcv9PjBR3MsAvYsNwv7NeCrUA6pmqUhz4N3WyRoLrLHsIwGUG6YjysIDvRd31XsJMTvLEOU9c6wBP8GJifIE2Ai2qTPm42X1uEcxdIbjV32hw86DI1TPzpddzquUhnv77WWEYPj8YD9iUJa0zR_gQbnjTr-x8fN-dQ-ejMiQi4g8CWv0TzBkwyL7LC3CAJcBZD9s3YDBfC6V8EMLvhY1vkYtkCsWdKpSU1xP7PXG8GHxCSpoQpuKGtzAbpyvrZlwB5iCRPKEYrAs3xFYicwi55hOU5j9gbB4aTwuds8TpeeBBHKmxlsIc9eBNyeqwvc0pVyqq-glFypwNVcDFRyMxOMDBZQR97n5hFVbCgTiltzxOqt2gMcZmsRIY3871BJ8MpZDkzLj8tYfn-GJQXqJmPl_DFpDeAOXgMd0W8AUKn6MwFhUsugtDKV3qNEf_GfuBmtEn679Kzjgg2ccu9_8ne5BXmiusWybAW7ngUBUnYfaVasYJI_FMiPxOPBfU88Gudg5FgyAhCP48AHErRnfQjtHAB8lcSMR9OHhEKb2TOsqrI3qQ8VtppQkXHuFEVjqyrsuOOKBr7U6cWU4_9mdvM60B2vDV-IXp_Xh11nw6JyeuEKPRX6pDI0w7S6chvSVG0eclXKOGqYNnq-1iTePigNFD1hu6f3kl6unGy2oPfyXiRvsIJRJt7HiQa78-gYVbv1atQE4f4bHsvR_kqfVOUCIhd1691Dm-uWgHUj0oJHyjeGxdVsDzlNOkH9qLloZHyu19hbeKj_EYyNGkXpD-3fmAqmkqUnGLG1bJRMF-z0ds14FNGfFw4oCjeDyAlPxgD_C1KPz6VtbJoQNpGaOEgSApJOwNzWmUuX0U2u25dNIptLZAh3fYONTKexE7jgH-1ez9_382II1pS_wwOfCnyS8vuVPrJsQQagKwgDji0ZOqSzfbD5t6C8usB7d9904PhBzwBFiHexVbo6q6rEFG361TA3yyGuWT9RfS1omwDn9B9T9r8PDUzHWYuNAToSFkGsNXSLNsEduCeiQs7qELC-apiXIkGq__xu1KJn0-fZoP2_fYT6h3I5XlisJMJffaAkH6TMpCPAy8oqA1rWLDoWr3GZTCl7dKCxC8BzBqTFAOSD7nxgVWPb4ACWHYNl1cyYtLYeFO_4HE5zHg03YT-dx3tXW8cM9U9aTfdLfmz3qPHkON_u2SvZdAqPV7sMnWLVvsbV9ioJwRe7fWdbneRNHMFVJxqUQdWyjAF99PBdcqmfyOLJl7xfYMwBNYIngV5eszPUpOkkll44ntNwU1GeDmUYYokb6ue6nKH8NQTHS-tQMCG05l18Zo4rShQ9cYb9fJFy8OGXuINdGNQlNalRqBCkhxdAJ0Lr6UIn4UFj7ljrO942q9V4QrkUXOG_u-Utg_heiwm4PwfnXSI0BML8ffdwgrr1dX3nY1sQ1lj0dz9erBTDf5rvsqRFFY4UtuAs-DHasNRSH5Alp1CkpfV4K60Ho4aJfVHHZjC1iIb6sRalEJ1igNk2KBCKE7CSGCl8c_oMWBmACmfpjctcbnoOZe1P3IVpH6gpEQzfWBnUBXk_nBwMrT22anqbUIRvBb4nommS5tx2K06pmPwmGsoUYQdJzTJg4yQ-QEWsYgVtcyUw4AbL-JzXqatWRiTQqiBp-jFhEgExv2We4b8yxbrsLcck61q4SMGvdxyq7QT029V554_hnmnnwBINOCKYVMbbl3hvt5cVID7iJiU8hW8oJr1vkGklQfE8E7sIc9hddgC1w0UCAv4aJEEUd8ML0I73BhInyEJtr15MngBUgjSyrX27yrEiob8FtYWfl71fQi8DUTddltMLJfpBZvFrpghm_4oo9ARDGpgL9HPx41giNbikho0GbdzyCkLeto43mwW9izZTwDvPB6_gESKGim9BHGII14Ctp_a0Q4HNA1UDY663KOmfvbPPNWcehlYaymr-PqEh6q_fK1pfQtFiDizYIvlrmIUKCl6dk6Ey-G9ULywLKabuEUIZS800TNkARMj77A7APugRGxwSWShGDFGTTjwsEIBJ7V2JFhhup5DBHWGqDqw662Jgo39tm2If6VTubnqVwuQO-eGti7b5oCBFSySfZdFM0mxeRr0GSMbXh8ejDRYPkAtYLHTLWUsi3FOtolENRlA5QwWnmj6HKdmTDG9uWoZM-HFCxVZcQghp6_8j_dxQwovS7yXDS1JsXkNChOn5gFRbDwyeOfM4Shq9HrAku0JpPdeJM52Dy18ryfBaILQpGiwVk2ySe1e1XNNRR08C4IGLrX_r_mdG77bR2OX0gRK9XaGrLt6R-82lbLuh6anzo4TFF7QJUnuVy_f2broOXXo_va1oN90d-QrUWaVxxMG5b3M7NcfpK6828aGDsLH8jcRbjRhBwHehP6iCL-WOoP8HdspLuYgHix21SIOybxi0zEGmAIrGVWpO5PUEXd_MVcQN2Ek0IdmJpX5-9YQj7jfopmn0ohHhOh7Pe6xpZUyANTuQsmdmgsrt-4OmQul2419QVZ_7zzw80wjyNIGgogiUN-Inund6afiM1E3jKm8SPcL9eh4zNpdunShBWr86yp0hzpG2UHPFXvL9DRDzgFY9ZGIpWE-_z53R8fV42tQbgGKcBFa6mVldUs17AixY5tD7UFCmLtb73dQBh4PtPlHfWwd1dyOypCcicAk3PsaMlt1zOJoaEOIFvEBaN35dxjpLg5IgyYBoCE-hYF9AsX7OoKVEq0YlW9gWKXOE8FPT9RWJkr6cEr0O2t5_1bKpyMUi8VseugtKW885-MxSbwDh9KsOqitgTCfL1dAwY_Pr-5ELU0Cex6NIiN5CA24bP3WyX4vH8CjFh8U8AOWeBWHnyVPX8SzBeio9qOnfkGNUR9vm5TxIdcaKUSy64awLE16HIRgL4lPzD7xpMAIEl8oslzUaznmK4zMTMSyKLl7mutPzp_l5Td6HnaQLzg1RekQ1b10XJETZgjW6r-faGw7mJEX8PrIAFo3Udspfj8b8bkgOdtDiUIhxVLgzJKVHvescHDaiJDzZCyUq8j0BRV5GySW_88V1mkqQRndTpyfal9zjUiudAgRJkg3q9ApzOyvuwnbrh6mqb0UGc02bqZjwabw8HYqRE1qivhHVBFOanKDXP30MHCXZqtiZn7wME8RLWGY1B8Gn39Y1bQUWIXFH0vzIIuQn0SiMgeWjIcK-1GC9bcsLv6WLOzGc28WCJO9K7RCqMwamq0TO5C6CWJFwCByUU-Jb0mE50dH77cj6uU-DM4Ku_uP1WcNNK8OG1X1Up0CF15Uz5iObH9pEusxgY93yCdzc-i4EOM6SqqUAr-lwZjz4Utazwg-uLvZqIJwOHYn8TfzxucZgVEEnzos1wmtdW5Dp0R3yf9V-hhJh1CO1OaY8YoFB9bbGGu3X2aiKLHezUIqtr5AH4t6bldQqN2O9sBaRb5_wlYudDSF7G7VL1iJP0PQ0CTOs1fmFnlqunEfLjDa_PP-GFKqdisNIlEy8ApIe-LBZ4KCwxRUfULY1-t0wFw3vAzCqYNEEe492xbWAAsqjZwE9WCLbeu5_e5cRQsJ2tKbKIRh5R4kO5NfJmayZiRAm9Z07drjdcrRC0wL2sZcvC9PDFBKaX4QdPdWpkHdC689pVzX-amgLw4yMeIEJFGTGgYi1u_5KiEafgE2N4NqfwU3bNL0mSBjbkyQdm1KUiOxtquvG8OLr98_UZXcF4XTs9ZzXoV-sQlhLHQCvW5NUE_84wELXS0igdv_eegJrxygm3nVlr7C0jr6gJkdOrYSE2sq4pYs522iZ4tRgPEXBtnjpcyPje2TsxMj2L6d_Nd6MGlptfTUerAIbzddS1F2fchiOsI3ogjq5WUfoGdbJ9fD3VDHwESZ_dRNE3h4qiBLcwNrATuZM6929aWbWzjx4MNgB6rsaeDDhBo-9igkmRXhaMHRXj2rqO_v8xcb3it-BFPL3UwuRIxM8--8XBaPzIunTil-P8Gxz6TsrOd7bo-q3UU-Km7NyjR0bRtdCmVwyfHFcphH6Ma1FXM4LFq2Hgg3eLIiYVfdT4zJkexk3NhUOe42HUyUnERxgBNIVB0IJkTZSb-92SKTlWm_JmpT_QePB6qUEVsEce_AOsubCEhe0WmioMrJrUZyxqNxN-Z7C0KW55Ws_jXreAvULGSPW1gSBpb3HlUcBBhN98V1avKQQfYkWDYrwdXmSKyk4xJGcY4ysmTI-atF_4eiWvO2KDPKwmHIuPxRJciZELDslfNd3-mlar4pVr_uHFPpcmWF9CM-ldpryYJnbRpvQstoYVMbG34uc6hWnwt7PsAJSVjU8ifZpdFaNJeUvz4J0b0PFhWrkuU2uqDE4pZQuyqwdQVnj3CkM73fxvE6Fd_jf56Ftmqhfnb2NixaaXGQdulIaYEF7wb2AYj11xI_MO13To51s1wuBbKqOakDT1VkWwWwsNq1tgM9rC7sEJDyA_ZZ1AQCp6H7E76yUK0J7YpWEpxdHEyVzz0XW4y7ncxfZvZl_eZFh_iIsuUbvZinS8RpESUTT3kc4PJ8Fqg6NXk0mNTGcWfvMTnf7ecC2jIhft-pT88z3c_M7FTewcukSijzVxn5xZmpnHIKjGzs42wOjdXkUgmOkckBNSyQveUHgh0l2wNdbswjQMYfUT_OrNV1fn6QXAeI-BdRWzta_lifrjVamZq6bbKemLzkBAloDx2x5ZVYnz1CJSHTKBFcOxSQzsDsWrTK2Y2p5acWCiVl4EY4EoJZmpzyXbdry7Qj6qIYFwB-p1wSscPvyKwd-4-VaQ5PXQWm3X4sSwuYW_7APQxiZ4DEmzQJ7mMzkMK3rTjQ4qB_SaohsXlm2F3R3WCBQiVvtOKWTzN1KDAsXBXjuJkCzbIeVzpqIT0vZYDKVn12sqON3-7GAmFwJ_bYFJUjFaYluUAJSXvYGp9PsJ-6ig31CaKhZJLm4l1sfwXI6B9YS1ZtaIYDm_XXJ-pee9-6CohOmSMrZfGglywBsMiRnuI9krhmx0uQ6DdUIOC7PHwSGgrTi3RukDohngWVhCRi_V8J26q9laZArgkseWUjKaJfSiLmi-9LPQvDpqKdycVQGniM8hwh74z90MTNqR4xJwiVeGJk7U62WFw-q1ZLCIcRxR7GxAbA7vwt3AFEsbRD78Sa9WLtkg6UoIzLpEzwVh-PW-qqON3kB-qlyDUxTU99WWWJGQUTMKY2hnbUVtB9JF9HLZzf2bq0dAlP-x9MNXJciGWr_fO_XTTA8_oZ16PuYiok8PBr6IDt0SiKz6nSEKVETl_mS9rzwR2N2RCxGtdYJWCZgd_advi-sKpwPaYghS1rN4jDxQ8IIa33AoGob0H0o7vUhEY85UXf1w0n7A5OmmnCG4D_-ca66idtzWwOzcEIS1WkLzVxAGpXnhKpXJ0FeAPYjwD0Zqy9nw7HzGbvLUkQ-R7DrONE2GZanai74Vcotitx3StldWTSf549X5fwYKG_DyTLd8GnA-2cMt0xAYQ6IBXLFc9RXNK2Rqg4_oms475_xTLrkY-XJWQPtDDJKxR8xpVL-ms01SsfGH3EWJSh4XcuWzwzBAP7-wCjn0oiWyqLyaZxEl6qPGmeVNZ_11KlVivPGAS-NuP3iHh93CQGXA7W2pEKfKWDUIycSkdq3c1cRxAFg5YBQeb67S_nE-mPYT_LtcEj2f2Qwn_QwNddeKnLrSdQluYAJtYA23tRATP8ngfAUYMlxX8VFCz2tS7Wr-B2hPIHSmkwRMXhdbt-RyeWmghJWaqyPpzjoA9JbTOE-UPnx-TmlTHPx8DD4Eb9hFwEP2Ma22WPC0mZdyv9tOPMNf1iTiJ4WynSnRpws6I2Oe5JGHJclla0bI7GRrU8x4aVSgDrHyEuG280HQkcRDmbeGklgJy5agWZ44xbhqtbqxxrRC2-dsT9l2bXHUWAKfdk7OIA3TC7SLLy0kJadiSMGXUtEsl46BUZIyCCPiBA_T24g5mmefVe6D1GD_dvzibEr1URMIIGEk8ZtOn4YrghFZpeA1fXYO2cedfr0IcVtojBkqmCTQzylvta-a4TZk_tpdiPs0mRW2oOQySwcB9NvsCi1gF2_MJKu5Bjdf-LNAxkHrVat35IzAPk7eeUqzjQda_S92dP_YxdTrlZ2zmY-8UainepkRPjzSQBpA7pVEDk85mYJdvHqVuiJXsnoRzWgQ05pCXpPnkVBqTMcdkfmk8QQAHIM0Xk3L_M-pfxX-362mChhlfhjmogVQh-66ntFoF_SFgHQHlNR_UgDW3iiR2W0qWFBi8ZdxVPQsCg8fGB5WizJFnXapnLHEQoRtTS4NZkC3SFqv6n71uzzhURXuT_RtQxbp87vf3cScMTH1clET81_c8j_F_SB1m6_V4nsMTtOdstErNsN693c7IYDqjZBbbtu547yr-kYv_aL_bE6mBlWdaDDz_KiXlD_8Z7r1weaQMr0z2JqCS5Rjs-nUS4rtkn5eDgxlePBPh9frlE1kTXuDw2WLsffXV2q5IHmq5cEYnv_98qBhRPaflxoI4SgYUiTGetdEweoHozraxB7i72nW1YH3-RA8PSgtZDL7mcfzSSFvNbmOjDV_NN1ixzPdeK58KnOGVF59-reZM7AEOmQgs2JPfWqX8I_INAnol-We5e0rs5PKHNqY-1x6kDVTNDv-KZb5LQ74xGpUCmpHK7VY_wbS4oIZxbnvlG-Wk7ZP8pPuqjRRUDmfZFwbmWhsRviEDvFhjwJWuA_wZRglv_m7hv3eaSgZV1NJ1R75SW6ucn9R_RvUfGjveiwy7n8LPpn5WnXqINZ5ZJUquNvr7_U_TfagdiWFKoib2b2WS_EzMayhnj_mlSLt1hHHXDikhUWrH9pw9KLZ-JNm7WpbahMsyxsuxueAwsv1s5hlJx4aXlOHogmAFl6_og2Z2LPwvZhbjiZeM7VH6rMEPtSwVvpib7_jgByCtqvwvRALQ5MbiRC78Y_cTpeMcO3cuBY4jpIdK-at0Ca8uQ05BHj8cCs66G54t0nt0cP56b7H8u82ZyGnt02wtp7d592GPKRrekPca15OehssrJrnyxUY2kso-89zmK05cOdKJt0EyfUGWoYFPI6lRJy9zacX8jUWisbiTNz7jvx1nGAh1cryAuY61jS71AaQ4loiEDszY0QNquzoO4mIGy6XVsk0J5ER5D8yve_N2Zq4NuS7vaeOnTL4T5ZK9z0XanjlUMuBJMZ6raKNYfrs3I4fiz9XZh3GTSVwfkvSnhBtUQtDaZZRogXBkbIjUau5ID0zGgr3cIELxF4NwBlYDuSIXknapwMMVWmnIw1YFQWOM6iyM6s2NlMCprCWWcYiPclTH8ADSaa5lrYLMT9tBt1Wv1CkEPinEEsx45OHn6KGZqvei16mWN6K5tefE3OqzQ0agmob9vmstdYPSbCjltvjzMhsawkww3r5W8PjraSoxzcxf87jrDu9SNGaMLdjRBUUBKB-7lNVFIss37P-uRKHGahemw5LtC6j0s2z-nAz_lgYrncvCcp5_ua0NeLllAs08WkGhlWcsa8hGOISvjV01KOLNESQI-WBm-UQ3GUPP26cYmXveN3WznRbJ2dsyjP7xhuToK1y6ddVeEfndAFPqB42MKAlnW3L-klqMaCuOLjy1uoU9nocIf4knYz-Dox0kuCCu_R9lzzHrM1G9FBje_6JZD-09H2tfitQZ1UbM-br9ztAdI9MZg-WvxFE0kr2SGxyXnL3j1UlKX3fWwx3UQBBQ10YbJBL8nDRPxH2LLPwQyRsa95OTelBW9017Q2IhuW8qshY-cKezXr24S2YG9DlvsCbbvwGnQTDXrsFMTI_Vrn0gFFLmO2b0zPLmVsTWAlygaliYR5lkfQlaNwGczcdDmgeOeea6MmW8XxzL6BDgYrGIZa53eZRUtk92gfgq6sdNT8v_y1Dh-oniNn1Hmy1bO7yMUT3Vhn6cgSUFbB58r9OkxW8oryw2EZJiGGY7qH-eSFwSMRfpuPn3h6I6u_7Bzjdn84V95qw8heztJ2CvJ4RpFvw6d51RZ9GlYnSNEkWuHN8o5htxrV9Ypo7ccZHD8furWPHdU20kGjl4z90iFyfOu1KkYDdqXG-Zu8doKpTd06bPTLr39DE",
                          "mk": null
      }
      
    }
    ]
  }
  ]
}

Without any further user action, the app sends the following, similar request to graph.facebook.com:

COPPA:                 false
APPBUILD:              66
KG_RESTRICTED:         false
VALPARAMS:             {"is_emu":"false"}
UNITY:                 false
ACCESSIBILITY_ENABLED: false
APPNAME:                Flashlight
ADAPTERS:              ADMOB,AN,INMOBI
NUM_ADS_REQUESTED:     1
SESSION_TIME:          1543947993.285
PLACEMENT_ID:          1516151875324148_2069460636659933
MAKE:                  LGE
REQUEST_TIME:          1543947994.280
CARRIER:               
SDK_CAPABILITY:        [3,4,5,7,11,16,17]
TEMPLATE_ID:           200
CLIENT_REQUEST_ID:     cd483fc9-f244-427f-8989-2815b60de17d
DENSITY:               3.0
M_BANNER_KEY:          Y29tLnN1cnBheC5sZWRmbGFzaGxpZ2h0LnBhbmVsIGNvbS5hbmRyb2lkLnZlbmRpbmc=
SCREEN_HEIGHT:         592
SDK_VERSION:           4.28.1-Bidding-Beta
SCREEN_WIDTH:          360
ID_SOURCE:             
REQUEST_TYPE:          0
SDK:                   android
OSVERS:                8.1.0
CLIENT_EVENTS:         
APP_MIN_SDK_VERSION:   15
OS:                    Android
ANALOG:                {"charging":"1","available_memory":"879951872","battery":"99.0","free_space":"5650038784"}
PLACEMENT_TYPE:        native
ROOTED:                2
MODEL:                 Nexus 5
BUNDLE:                com.surpax.ledflashlight.panel
ASHAS:                 5da8e10e3a437f8dc312bc74196e75cacf518957;
LOCALE:                en_GB
NETWORK_TYPE:          1
IDFA:                  474364c6-e9cf-4971-8dd2-b1dc3c605450
ATTRIBUTION_ID:        
APPVERS:               1.2.7
INSTALLER:             com.android.vending
IDFA_FLAG:             1
SESSION_ID:            fde39a66-2c8e-434b-b882-f31c295eb351

The app receives the following response from graph.facebook.com:

 {
  "error": {
    "message":"(#606) Placement is disabled","type":"OAuthException","code":606,"fbtrace_id":"E3yeAI0Vvnq"
  }
  
}

Action from app: The app displays a pop-up model with a Privacy Policy update
Test user action 2: The user selects READ

Action from app: The application displays a Privacy Policy
Test user action 3: The user reads the Privacy Policy and selects "No, Thank you"

Test user action 4: The user conducts further activities within the app that would be typical for a a regular app use
Response from app: No further data is transmitted to graph.facebook.com

Test user action 5: The user closes the app gracefully
Response from app: The app sends the following to graph.facebook.com

Form data:
format:                       json
sdk:                          android
custom_events_file:           [{"_eventName":"fb_mobile_deactivate_app","_logTime":"1543948194","_ui":"AboutActivity","_session_id":"2617ef84-6ca9-48e3-956b-8115b5f8c571","_valueToSum":173,"fb_mobile_time_between_sessions":"session_quanta_0","fb_mobile_launch_source":"Unclassified","fb_mobile_app_interruptions":"2"}]
event:                        CUSTOM_APP_EVENTS
advertiser_id:                474364c6-e9cf-4971-8dd2-b1dc3c605450
advertiser_tracking_enabled:  true
installer_package:            com.android.vending
anon_id:                      XZ880f2469-c17f-427f-8beb-2c605ebadb90
application_tracking_enabled: true
extinfo:                      ["a2","com.surpax.ledflashlight.panel",66,"1.2.7","8.1.0","Nexus 5","en_GB","GMT","",1080,1776,"3.00",4,13,5,"Europe\/London"]
application_package_name:     com.surpax.ledflashlight.panel

The app receives the following response from graph.facebook.com:

 {
  "success":true
}
Notes and Commentary

Note 1: In the videos below, the clocks between the VirtualBox Virtual Machine and the Phone handset are not synchronised.

Date Tested
04/12/2018
App Version
1.2.7
Number of App Installs (according to Google Play Store at time of analysis)
500,000,000+
Facebook SDK Version
4.23.0
Opt out of Ads Personalisation (Google Settings)
Not Enabled (Default Setting)