Gossip & News

Costar Couple! Kate Bosworth and Justin Long’s Relationship Timeline


master mentalism tricks

[]

Just like the movies! Kate Bosworth and Justin Long kept their romance under wraps after connecting on a 2021 film project — but fans were quick to notice their chemistry.

The Blue Crush star and the He’s Just Not That Into You actor hit it off while working on an unnamed movie in spring of 2021. Ahead of their relationship, Bosworth penned a sweet Instagram tribute to Long, thanking him for all his hard work on set.

“There are some movie experiences when you learn a lotttttt about another person. Well, we just wrapped one of those — all night shoots, working 6-day weeks,” the Superman Returns actress wrote via Instagram in May 2021. “The exhaustion & insanity was off the grid. Holy moly @justinlong you are a truly spectacular / fun / funny / kind / rare / thoughtful / totally. fckn. rad human being. .”

Bosworth shared a series of photos with Long from Arkansas, including the pair posing alongside gnome murals in town.

Things between the Win a Date with Tad Hamilton! star and Long seemingly became romantic after Bosworth announced in August 2021 that she and husband Michael Polish had called it quits.

Bosworth and Long fueled speculation that they were in a relationship in fall 2021 after being spotted together on multiple occasions. The Art of More alum began “liking” a variety of snaps on the Lady of the Manor actor’s social media accounts, including a November 2021 photo of him making “the traditional Thanksgiving hummus.”

{ let bidders = [‘a9’, ‘ix’, ‘iris’]; // create a requestManager to keep track of bidder state to determine when to send ad server // request and what amazonSlots to request from the ad server var requestManager = { adserverRequestSent: false, }; //loop through bidder array and add the bidders to the request manager: bidders.forEach( function( bidder ) { requestManager[bidder] = false; } ); // return true if all bidders have returned function allBiddersBack() { var allBiddersBack = bidders // get the booleans from the object .map( function( bidder ) { return requestManager[bidder]; } ) // get rid of false values – indicates that the bidder has responded .filter( Boolean ) // if length is equal to bidders, all bidders are back .length === bidders.length; return allBiddersBack; } // handler for header bidder responses function headerBidderBack( bidder ) { // return early if request to adserver is already sent if ( requestManager.adserverRequestSent === true ) { return; } // flip bidder back flag if ( bidder === ‘a9’ ) { requestManager.a9 = true; console.log(‘second promise a9 ready’); } else if ( bidder === ‘ix’ ) { requestManager.ix = true; console.log(‘second promise ix ready’); } else if ( bidder === ‘iris’ ) { requestManager.iris = true; console.log(‘second promise iris ready’); } // if all bidders are back, send the request to the ad server if ( allBiddersBack() ) { resolve( url ); } } if ( typeof apstag == ‘object’ && apstag ) { apstag.fetchBids({ slots: [{ slotID: window.prerollTag[vHash], mediaType: ‘video’ }] }, function( bids ) { console.log( “AMI jwp amazon bid callback”, new Date().getTime(), bids ); window.jwpBids[vHash].amazon = true; if ( bids.length > 0 ) { //If we have received any bids back try { console.log(“AMI jwp amazon bid request ad”, bids[0].encodedQsParams); url = url + ‘&scp=’ + bids[0].encodedQsParams; } catch ( e ) { console.log(e); } } else { console.log(“AMI jwp amazon no bids”); } headerBidderBack(‘a9’); }); } else { headerBidderBack(‘a9’); } headertag.cmd.push( function() { headertag.retrieveVideoDemand( [{‘htSlotName’: ‘preroll’}], function( demand ) { console.log( “AMI jwp IX callback”, demand ); if ( ‘undefined’ !== typeof demand.preroll && demand.preroll.length ){ window.jwpBids[vHash].ixBids = demand.preroll[0].targeting.price; console.log( ‘AMI jwp IX Bids’, new Date().getTime(), demand.preroll[0].targeting ); var vastURL = new URL( url ); var vastParams = new URLSearchParams( vastURL.search ); if ( vastParams.has( ‘cust_params’ ) ) { var custParams = new URLSearchParams( vastParams.get( ‘cust_params’ ) ); } else { var custParams = new URLSearchParams(); } var keys = Object.keys( demand.preroll[0].targeting.price ); for ( var key of keys ) { custParams.set( key, demand.preroll[0].targeting.price[key][0]); } vastParams.set( ‘cust_params’, custParams.toString() ); vastURL.search = vastParams.toString(); url = vastURL.toString(); } headerBidderBack(‘ix’); } ); } ); // Get main item context data window.irisContext.getContext(jwplayer(el).getPlaylistItem().mediaid).then(function(data) { // Encode the context data console.log( ‘AMI jwp IrisTV Bids’, new Date().getTime(), data.context ); // Replace the server url with the context data (this is for simple ad requests), // If you have the serverUrl dynamically configured, then you will need to append the context data // under cust_params, so this is just for testing purpose if ( data.context && Object.keys( data.context ).length ) { var vastURL = new URL( url ); var vastParams = new URLSearchParams( vastURL.search ); if ( vastParams.has( ‘cust_params’ ) ) { var custParams = new URLSearchParams( vastParams.get( ‘cust_params’ ) ); } else { var custParams = new URLSearchParams(); } custParams.set( ‘iris_context’, data.context.join(‘,’)); vastParams.set( ‘cust_params’, decodeURIComponent( custParams.toString() ) ); vastURL.search = vastParams.toString(); url = vastURL.toString(); } headerBidderBack(‘iris’); }); setTimeout(function(){ resolve( url ); }, 10000); }); } var player_jwplayer_XO3yBY92_zhNYySv2_div = jwplayer(el).setup(videoParams).on(“ready”, function(){ var el = decodeURIComponent( “jwplayer_XO3yBY92_zhNYySv2_div” ); var playerInstance = jwplayer(el); ns_.StreamingAnalytics.JWPlayer( playerInstance, { publisherId: “6036076”, labelmapping: “ns_st_pu=”AMI”, c3=”Us Weekly”, ns_st_ge=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_ia=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_ce=”” + decodeURIComponent( “1” ) + “”, ns_st_ddt=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_tdt=”” + decodeURIComponent( “%2Anull” ) + “””, }); }).on(‘adsManager’, (e) => { var vHash = ‘ami’ + decodeURIComponent( ‘XO3yBY92’ ); const { adsManager, videoElement } = e; const iasConfig = { anId: ‘928572’, campId: `${jwplayer().getWidth()}x${jwplayer().getHeight()}`, // This is dynamic based on player dimensions, but can be hard coded chanId: window.prerollTag[vHash], placementId: ‘Open Auction’, pubOrder: ‘Video’, pubId: ‘Direct’ }; if (googleImaVansAdapter) { googleImaVansAdapter.init(window.google, adsManager, videoElement, iasConfig); } }).on( ‘time’, function( e ) { var id = this.id; var pct = Math.round( e.position ); if ( ! window.amiPlayersData ) { window.amiPlayersData = {}; } if ( ! window.amiPlayersData[id] ) { window.amiPlayersData[id] = { m3: false, m10: false }; } if ( window.amiPlayersData[id][‘m3’] === false && pct >= 3 ) { window.amiPlayersData[id][‘m3’] = true; console.log( ‘3sec played: ‘, id ); window.dataLayer = window.dataLayer || []; dataLayer.push( {event: ‘JWPlayEvent’, jwTime: ‘3s played’} ); } if ( window.amiPlayersData[id][‘m10’] === false && pct >= 10 ) { window.amiPlayersData[id][‘m10’] = true; console.log( ’10sec played: ‘, id ); window.dataLayer = window.dataLayer || []; dataLayer.push( {event: ‘JWPlayEvent’, jwTime: ’10s played’} ); } }).on( ‘complete’, function( e ) { if ( window.amiPlayersData && window.amiPlayersData[ this.id ] ) { window.amiPlayersData[ this.id ][‘m3’] = false; window.amiPlayersData[ this.id ][‘m10’] = false; console.log( ‘clear played: ‘, this.id ); } }).once(“play”, function(){ var el = decodeURIComponent( “jwplayer_XO3yBY92_zhNYySv2_div” ); var playerInstance = jwplayer(el); loadIrisPlugin(playerInstance, playerInstance.getConfig().plugins[“https://ovp.iris.tv/plugins/jwplayer/v2/iris-jwplayer8.adaptive.min.js”]) }).on(‘play’, (e) => { var el = decodeURIComponent( “jwplayer_XO3yBY92_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “XO3yBY92” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); // skip if the video was paused and trying to resume if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) { return; } window.permutive.track(“VideoPlay”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “XO3yBY92” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language:”English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video play”); }).on(‘complete’, (e) => { var el = decodeURIComponent( “jwplayer_XO3yBY92_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “XO3yBY92” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); // skip if the video was paused and trying to resume if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) { return; } window.permutive.track(“VideoComplete”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “XO3yBY92” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video event:”, e); window.lock_25 = false; window.lock_50 = false; window.lock_75 = false; window.lock_100 = false; }).on(‘time’, (e) => { var el = decodeURIComponent( “jwplayer_XO3yBY92_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “XO3yBY92” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); var progress = (e.currentTime/e.duration).toFixed(2); if ( (0.25 === progress && false === window.lock_25) || (0.5 === progress && false === window.lock_50) || (0.75 === progress && false === window.lock_75) || (100 === progress && false === window.lock_100) ) { window.permutive.track(“VideoProgress”, { play_id: el, //this will stay constant for all of the events emitted during the same video play progress: Number(progress), video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “XO3yBY92” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); if ( 0.25 === progress ) { window.lock_25 = true; } if ( 0.5 === progress ) { window.lock_50 = true; } if ( 0.75 === progress ) { window.lock_75 = true; } if ( 1 === progress ) { window.lock_100 = true; } console.log(“Permutive video play progress ” + progress); } }).on(‘mute’, (e) => { var el = decodeURIComponent( “jwplayer_XO3yBY92_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “XO3yBY92” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoEvent”, { play_id: el, //this will stay constant for all of the events emitted during the same video play event: (e.mute) ? “sound off” : “sound on”, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “XO3yBY92” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() } }); console.log(“Permutive video event:”, e); }).on(‘fullscreen’, (e) => { var el = decodeURIComponent( “jwplayer_XO3yBY92_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “XO3yBY92” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoEvent”, { play_id: el, //this will stay constant for all of the events emitted during the same video play event: (e.fullscreen) ? “fullscreen on” : “fullscreen off”, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “XO3yBY92” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() } }); console.log(“Permutive video event:”, e); }).on(‘ready’, (e) => { var el = decodeURIComponent( “jwplayer_XO3yBY92_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “XO3yBY92” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); console.log(jwInfo); window.lock_25 = false; window.lock_50 = false; window.lock_75 = false; window.lock_100 = false; window.permutive.track(“VideoLoad”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “XO3yBY92” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video load event”); }).on(‘adPlay’, (e) => { var el = decodeURIComponent( “jwplayer_XO3yBY92_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “XO3yBY92” ); window.adInfo = e; var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.adlock_25 = false; window.adlock_50 = false; window.adlock_75 = false; window.adlock_100 = false; window.permutive.track(“VideoAdPlay”, { play_id: el, //this will stay constant for all of the events emitted during the same video play ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “XO3yBY92” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video ad play”); }).on(‘adClick’, (e) => { var el = decodeURIComponent( “jwplayer_XO3yBY92_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “XO3yBY92” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoAdClick”, { play_id: el, //this will stay constant for all of the events emitted during the same video play ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “XO3yBY92” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video ad click”); }).on(‘adTime’, (e) => { var el = decodeURIComponent( “jwplayer_XO3yBY92_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “XO3yBY92” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); var progress = (e.position/e.duration).toFixed(2); if ( (0.25 >= progress && false === window.adlock_25) || (0.5 >= progress && false === window.adlock_50) || (0.75 >= progress && false === window.adlock_75) || (0.95 >= progress && false === window.adlock_100) ) { window.permutive.track(“VideoAdProgress”, { play_id: el, //this will stay constant for all of the events emitted during the same video play progress: Number(progress), ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “XO3yBY92” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); if ( 0.25 >= progress ) { window.adlock_25 = true; } if ( 0.5 >= progress ) { window.adlock_50 = true; } if ( 0.75 >= progress ) { window.adlock_75 = true; } if ( 0.95 >= progress ) { window.adlock_100 = true; } console.log(“Permutive video ad progress ” + progress); } }).setPlaylistItemCallback(function(item, index) { return waitForAmazon // Wait until Amazon is loaded. .then(() => performAsyncBidding( player_jwplayer_XO3yBY92_zhNYySv2_div, item, index ), () => { console.log(“AMI JWP bidding FAILER”); }) // External bidding. .then(tag => { // Update the playlist item. console.log(“AMI jwp new headerbid”, tag); return Object.assign({}, item, { adschedule: [{ tag, offset: “pre” }] }); }).catch(function(e){ console.log(“AMI jwp bidding failed”, e); return item; }); // If bidding fails, use unmodified playlist item. });; clearInterval(checkJWReady); } }, 500); })(); ]]>

Long also “liked” Bosworth’s Instagram posts and revealed in December 2021 that he was in a relationship with a mystery woman. In January 2022, Us Weekly confirmed that the stars had been an item for a “few months” after becoming friends on their movie.

The 21 star and the F Is for Family alum are “not hiding the fact that they’re together,” a source exclusively told Us at the time, noting that the twosome are “just staying low-key and private about their relationship.”

Later that month, Long seemingly confirmed his relationship with Bosworth while attending the Sundance Film Festival premiere of her movie Bring on the Dancing Horses.

“I am here in beautiful Park City, Utah [and] it’s freezing cold,” he said via his Instagram Story at the time, noting that he was “so excited” to see the actress in the film. “But, I’m here for the big premiere of Bring on the Dancing Horses. So, bring on the dancing horses at the Egyptian Theatre.”

Scroll down to relive Bosworth and Long’s relationship:

Read The Full Article Here


trick photography
Nashvilles Charles Esten Speaks Out After Former Costar Hayden Panettieres Death
Nashvilles Charles Esten Speaks Out After Former Costar Hayden Panettieres Death
Billy Crystal, Kate Hudson and More Stars Celebrate Palisades Village Reopening After L.A. Fires
Billy Crystal, Kate Hudson and More Stars Celebrate Palisades Village Reopening After L.A. Fires
Tori Spelling Details Worst Filming Experience With Director Who Left Her Hoping Shed be Fired
Tori Spelling Details Worst Filming Experience With Director Who Left Her Hoping Shed be Fired
Adam Scotts Birthday Tribute To Naomi Scott Is Pure Unfiltered Adoration
Adam Scotts Birthday Tribute To Naomi Scott Is Pure Unfiltered Adoration
Every MCU Movie on Marvel & Disneys Release Date Calendar Until 2030
Every MCU Movie on Marvel & Disneys Release Date Calendar Until 2030
The Movies and Shows That Inspired Lanterns
The Movies and Shows That Inspired Lanterns
Reckon with the Flesh: The Fly at 40
Reckon with the Flesh: The Fly at 40
Locker Diaries: Descendants New Episodes & More Disney+ Releases This Week
Locker Diaries: Descendants New Episodes & More Disney+ Releases This Week
Casting News: Industry Adds 7 To Final Season, Scrubs Casts SNL Vet As New Chief Resident, And More – TVLine
Casting News: Industry Adds 7 To Final Season, Scrubs Casts SNL Vet As New Chief Resident, And More – TVLine
Hayden Panettiere, Heroes And Nashville Star, Dead At 36 – TVLine
Hayden Panettiere, Heroes And Nashville Star, Dead At 36 – TVLine
No Preview
15 Most Unnecessary TV Character Deaths – TVLine
Rocky Kramer’s Rock & Roll Tuesdays Presents  “A Kind of Magic” On Tuesday, August 18th, 2026 7 PM PT on Twitch
Rocky Kramer’s Rock & Roll Tuesdays Presents  “A Kind of Magic” On Tuesday, August 18th, 2026 7 PM PT on Twitch
Columbia House Is Shutting Down
Columbia House Is Shutting Down
LL Cool J, SWV, Lil Kim, Method Man & Redman to Headline Thanksgiving Edition of Rock the Bells
LL Cool J, SWV, Lil Kim, Method Man & Redman to Headline Thanksgiving Edition of Rock the Bells
The 11 Best 1970s Glam Rock Albums (Ranked)
The 11 Best 1970s Glam Rock Albums (Ranked)
Rocky Kramer’s Rock & Roll Tuesdays Presents  “A Kind of Magic” On Tuesday, August 18th, 2026 7 PM PT on Twitch
Rocky Kramer’s Rock & Roll Tuesdays Presents  “A Kind of Magic” On Tuesday, August 18th, 2026 7 PM PT on Twitch
Ambition, Innovation & Ideas That Move Business Forward – NewInBooks
Ambition, Innovation & Ideas That Move Business Forward – NewInBooks
New Voices, New Worlds & Stories Made for YA Readers – NewInBooks
New Voices, New Worlds & Stories Made for YA Readers – NewInBooks
Interview with Marilee Dahlman, Author of Mall Goddess – NewInBooks
Interview with Marilee Dahlman, Author of Mall Goddess – NewInBooks
One Kiss Away: New Romance Novels to Get Lost In – NewInBooks
One Kiss Away: New Romance Novels to Get Lost In – NewInBooks
Lupita Nyongos Stylist Shares How She Put Together Those The Odyssey Press Tour Looks
Lupita Nyongos Stylist Shares How She Put Together Those The Odyssey Press Tour Looks
I Browsed My Way Into a Beauty Haul—24 Items I Shamelessly Added to My Cart This Month
I Browsed My Way Into a Beauty Haul—24 Items I Shamelessly Added to My Cart This Month
Im Giving Chic Raven: Get Ready With Stassi Schroeder for Her Premiere Party
Im Giving Chic Raven: Get Ready With Stassi Schroeder for Her Premiere Party
Summer Outfits Look So Much Chicer When Styled With This Trending Accessory
Summer Outfits Look So Much Chicer When Styled With This Trending Accessory
Sam Neill Documentary Focuses on Late Actors Horror Career
Sam Neill Documentary Focuses on Late Actors Horror Career
5 Horror Sequels That Are Actually Better Than the Original
5 Horror Sequels That Are Actually Better Than the Original
This Week in Horror: American Horror Story Reunites Its Villains, Verity Turns Nasty, and Freddy Fazbears Pizza Gets Real
This Week in Horror: American Horror Story Reunites Its Villains, Verity Turns Nasty, and Freddy Fazbears Pizza Gets Real
Bury the Devil Trailer Locks a Night Nurse in a One-Take Possession (Exclusive)
Bury the Devil Trailer Locks a Night Nurse in a One-Take Possession (Exclusive)