Findings and conclutions about misfires and ignition pulls

135boost

Corporal
Oct 28, 2017
243
1
136
0
Finland
Ride
135is
Hi

I started this cause there seems to be numerous different approach about this stupid and very annoying issue of n54 misfires

I think half of those is just related to worn out parts like stock coil, plugs, faulty injector or just clogged intake runner, piston ring land, or something else very obvious.
But then there seems to be a bunch of misfire issues not covered by those common easy fix and owners has throwed and swapped every part in whole engine department and still struggle with this issue.

First this engine is still just a petrol burner, air, fuel, squeez, bang, exhaust dump..
I have struggled with these for few years now and still miss the root cause for them. Trebila has been awesome help and p33p33 even more awesome help to tune this but still there is to much on the dark side of this issue, and for sure, i'm not the only one with this. This seems to be stupidly sensitive to all what can cause misfires.

At the end of day, solutions should not be in a level of "edge where maybe it ignite every pulse", more like enough room for to be sure we aren't even close to misfires, damn, gtr's with these miniatyre plugs iginite even with 55psi and 2000 horsepower and propably 40% more cylinder pressure at the moment of ignition without issues.

What i have read from these forums, numerous injector swaps, numerous playing with different coil packs, spark gap, finetuning of software, different plugs, wichcraft, gremlings, different brand of fuels etc and still misfires even with big players like Tony @ vtt, Terry @ burgertuning and numerous others too.

Damn it, even 1970 made carburator engine turbocharged ignite mixture without issues so why is this so damn difficult.

First known real issue, miniatyre size spark plugs what for sure is more prone to run to issues cause of very thin layer of insulator and frame been close to electrode, that is somethinw what just is, caused on limited space in combustion chamber in di engines.

Then few things about di and plug relation what can trig issues, injector is very close to spark plug and with very high horsepower n54, on di, when injection window start (not sure about excact timing cause of missing map in xdf but some guess is that window is some 250 degree ) piston is close to tdc and maybe there is on big injection quantitys in that situation to some degree of risk to wet the plug.

First question, have there been any notices of difference in full di to the max with bigger di hfpf systems versus di plus pi cause on that occation, di plus pi should be less prone to this if that is the case

Second question, b58 style spark plug with much more protected center electrode could also provide some protection against that wet foul possibilities, some notices if that does any positive effect against misfires. Someone maybe even tryed pi only?

Seems that pr coils, b58 coils etc has for sure enough energy to ignite this kind of combustion so i think we all can be sure it's nothing to do with pure spark energy. Energy need is also reduced with spark gap reducing even if combustion pressure increase energy need and spark resistance at level of 1 to 1

What about mosfets or cabling to coils, i don't think cabling are too small to proper support coil charge even if they ain't ment to support more than stock coils but what about mosfets ability to disspatch heat with much longer dwell times in optimated dwell maps? I really think we have enough knowledge on those proper optimum coil dwell tables to rule out thatwrong chargetimes from issue causings list.

There has been one test what i have found from web where those was measured and conclution was that b58 coil is superior to allmost everything what can be throwed in in dumb coil markets. Has there been any taughts on temperature issue or is there real differences when used smart r8 coils on misfire front?

What about heat sink glued with thermal glue on top of all mosfets? Not so very difficult task to do.

On mechanical side there has been reported that some teflon tape wrap to injector has cured a small amount of misfire issues, sounds like bush fix, it may work but not caused of better sealing to combustion, it should worse out that sealing situation caused by many time bigger area to be sealed than that orginal 8mm but there is one thing what on my opinion has been totally missed and what that teflon tape could on short term cure.

What if the issue on that is not gas leakage, but jiggering of whole injector as a result of combustion chamber high pressure pulses?

Seems to be that issue is escalating with boost pressures over 25 psi and that teflon wrap fix has been when there has been complains about injector bore been out of shape or loose.

I came to stupid taught, what if that big cylinder pressure is starting to resonate the whole injector against the injector holding clip, that could easily explain wear out injector hole, that for sure could cause very erratic injector behavings caused on movements inside of injector and it's needle. Area of injector is in size of 0.5cm2 (8mm cross section ) at injector injecton nose where that teflon seal sits so if there is some 100bar cylinder pressure at highest point, the spring has to be hold some 50kg force and i'm sure it does not withstand that without some warping or small resonation. What if the injector locking spring is orginally designed to work as some kind of hydrolock protector to give up after example double orginal cylinder pressure and designed to protect pistons and stock rods in a case of injector fairlure and pump combustion chamber full of gasoline? And then when we reach that level with double absolute charge pressure, what is in a level of prox 40psi compared to stock some 20psi abs, 14,7psi plus some 7 or 8 psi boost? Just playing with idea...like valve float, difficult to show out as small amount until it's sewere issue an can be heard.

On these n54, that resonating frequency is in a rateof 2500 to 4000hz, half of engine rpm so monitoring should on my opinion be done with high speed videocamera in a dyno under full pulls to se if there is a issue. That spring type injector holder is not to be seen in any diesels, tfsi, n55, b58 or other engine models so what if this is the real issue in these n54's and was at the beginning a idea of bmw engineers to do it as that mentioned protector cause it was their first di engine?
I think movement level to mesh up injector is in a level of 1mm or something so movement does not have to be even visible to eye without slow motion diagnostic video.

Easy fix for sure is stack 2 springs to clamp that injectors, doubling it's clamping force. Has anyone even tryed that?
I have a spare of those and for sure will throw them in to do road test to it but i don't have easy access to chassis dyno or high speed camera equipments to do real investigatios other than road tests.

On afr side to solve this issue, it seems to be regardless of afr, for sure very rich mixture is causing misfires but even of correct best power level afr or little on lean side of it, it seems to be a issue still having mystery misfires.

Next question, if that is dme related, then all with syvecs s6 or s7 should be without any misfire issue at all, is that the situation? If it is, then dig again us in to dme mosfets.

In some occations, there seems to be claims that weak battery is causing these kind of issues but
That should stress more generator than trig misfires if dme feed voltage stays on decent level.

For sure i know this is a network of different bus in these so maybe there is some relations caused of some mystery module like lfpf but i think it's long shot.


My setup starts to run to misfires in a region of prox 23-25 psi, tested 3 different injector packs, 3 different coil packs, both pr and n58 coil packs, slight different afr's, diferent plug gaps, different dwell table values, even p33p33 knowledge, and misfire is popping up somewhere in 6000-7100rpm at every pull with at least one gear recovered after second or two to normal again and to the point of misfire everything seems to be totally normal except ignition pulls
Propably related to some torque limit table, 6at (testing at the moment on 29psi and target at the end is 33psi with 1:1 boost exhaust pressure) what i think is a totally other issue.

That ignition pulls has been reported that is more prone on xi models, and if so, it can be related to noise from dront diff ve rwd cars, more than diferent in calibrations or something else, faulty prop shaft or half shafts can bring noise to oil pan what can trig it but on mine, i tested few pulls with knock deactivated at over 3500rpm and still puls so it's not knock in my situation.

Known trigger increaser is forged internals, check, high lift cams, check, closed deck, check, xi, check, so i have them all.


Taughts?, suggestions to keep my mouth shot? Ideas ? And yes, again, i know my english is not perfect so gramma lections suggestions don't belong here eather or could it be better to write on my natives Finnish or Swedish 😛
 
Last edited:
  • Like
Reactions: Jeffman and langsbr
Solution
“We choose to tune bmw n54 in this insanity and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one ... so.. is it even technically possible to increase that 1389 value or is only path port injection

Shitrockn54

Private
Apr 17, 2022
34
22
0
Ride
335xi
This is very interesting, I had no idea spark control was so sophisticated. What if part of the spark control system references load? If that was the case, could using the 3.5 and 4 bar tmap sensors be part if the problem, since load is being artificially scaled lower than real-world load (cylinder stuffing factor) to avoid going over 200%? If that was the case, the spark control scheme may not be sending enough energy -when it thinks your at 170% load, it would send spark energy appropriate for a real-world load of 170%. But due to the load scaling for the bigger tmap, when the DME is seeing 170% load, the real-world load is actually much higher.
This would present a much denser fuel-air charge than what the DME would expect for normal 170% load. Any thoughts on this?
I just seen a map for cylinder pressure last night. I cant remember exacly where iam looking again now just got sidetracked by a 12x12 that says volumetric cylinder filling kf_rfvzylvol in eisy_ev doin some digging now. I wanna say that cyl pressure map was in igr or something about injection lift based on cylinder presure? I was going to add it to my xdf right when the computer crashed:/ ill post it when i find it again
 
  • Like
Reactions: wheela

Shitrockn54

Private
Apr 17, 2022
34
22
0
Ride
335xi
I was mistaken. The only cylinder pressure tables i found so far seem to be fuel related ip_prs_inc_cmp
Ip_prs_cmp
Ip_prs_cmp_mon havent got to them in the fd yet
 
  • Like
Reactions: wheela

135boost

Corporal
Oct 28, 2017
243
1
136
0
Finland
Ride
135is
Just figured out how to determine if issues is from injection logic or ignition logic, it was straight in front of my face, just to open them.

Thanks to P33p33 and carabuser, they make it possible to me.. it's obvius that if it is about injection phase, it's to monitor first phase of every cylinder injection mass, if there is differences, then it's for sure something cylinder pressure or torque limitations.. then monitor all cylinder dwell if there is differences...
 
  • Like
Reactions: wheela

Shitrockn54

Private
Apr 17, 2022
34
22
0
Ride
335xi
I was going through the damos some more and stumbled upon c_maf_thd_amp_sub
It refrences the temp to substitute amb pressure to a raw value vs maf.
I remembered talk here of a certain maf level posibly playing a role and amb pres efects alot from the browsing in the fd.
Its set to substitute a raw value at .400kg/h
Just throwing it out didnt look into yet in ijeos its 4bd76 16bit lsb coversion x*0.03125
There is also a delay time c_t_dly_amp_sub ijeos 4c701 1bit x*100
Its set to 1300ms with a cylce time of 20ms at 6000rpm or 10ms for 360 degres crank rotation it doesn't come into efect till 65 full cycles or 130 revolutions. I haven't had a chance to look at logs but i wonder if things start to clean up again 130rpm later from the event
 
Last edited:
  • Like
Reactions: wheela

135boost

Corporal
Oct 28, 2017
243
1
136
0
Finland
Ride
135is
On my tests, issues starts close to 400maf and that delay could be reason for being trigged more accurate at 400g/s maf at 4th than 2nd or third gear.

Then it recover after some second and if conditions is still there, it will retrig.

POSSIBLE SOLUTION

-calibrating that .400 value to 569 what was max if i remember right
-increase delay value to10000ms from thar 1300ms

My opinion is to increase both just to move th2m out of the way.

Next question is that what all is those limit? Fuel injection time at least but maybe ignition pulls and ignition cuts too?

Then needed to build a extra adjustable parameters to tunerpro
To test the effects, who is capable of that?

Maf is easy to test, first reduce it to 200 and test if that cylinder blackout come much lower on loads and rpm's, and at the same test if that delay and recovery has expected effect what it sounds to have..
 

Shitrockn54

Private
Apr 17, 2022
34
22
0
Ride
335xi
On my tests, issues starts close to 400maf and that delay could be reason for being trigged more accurate at 400g/s maf at 4th than 2nd or third gear.

Then it recover after some second and if conditions is still there, it will retrig.

POSSIBLE SOLUTION

-calibrating that .400 value to 569 what was max if i remember right
-increase delay value to10000ms from thar 1300ms

My opinion is to increase both just to move th2m out of the way.

Next question is that what all is those limit? Fuel injection time at least but maybe ignition pulls and ignition cuts too?

Then needed to build a extra adjustable parameters to tunerpro
To test the effects, who is capable of that?

Maf is easy to test, first reduce it to 200 and test if that cylinder blackout come much lower on loads and rpm's, and at the same test if that delay and recovery has expected effect what it sounds to have..
Iam not comletly sure iam working on other things but as much as i know to this point amb pressure is involved in a ton of calcs in multiple layers. These 2 tables define when and how much delay until it goes to the raw pressure value from the sensor. Iam not sure if the value should be raised or lowered. I think the correct aproach would be to figure out why bmw selected that number and time in the first place then log raw sensor data, corected data and see where they start to differ maybe its never hit on the stock tune? Maybe its a failsafe idk. I feel like theres alot of variables in this and it needs more investigation rather than just turning off there is a reason its there and we should try to follow suite because everything is so interconected just changing things could effect other logic
 
  • Like
Reactions: wheela

Shitrockn54

Private
Apr 17, 2022
34
22
0
Ride
335xi
I think alot of these problems come from the fuel system being set up for gas and us running ethanol seem to have more problems i wanted to run full e98 but the car hates it it doesn't seem to like anything more than e64 past that i have major timing pulls. I have bin working on defining everything in the fuel system and i plan on building a spread sheet that follows the factory logic for calcs once its all sorted. Our whole calibration is off with ethonol from the density of the fuel, the compressibility, ethonol is a "hoter" spirit so natural it flashes to vapor at a lower temp that has to be afecting the film wall the injection timing and the way it stacks difrent lambdas with multiple injection, there's a table kf_rkmin its the min factor fuel mass it has a note about being connected to zw_min and la_ist_m etc. There is a ton of calibration that is all wrong for using ethonol basically all we have done is play the feedforward table to add more fuel volume per charge mass. Maybe thats the whole isue and all this is other stuff is just another "work around" theres a ton of info on gdi but not much about ethonol on direct injection.
I was thinking of making a thread on it soon i dont feel ready till i actually figure out how to change these factors appropriately. I have looked at gm di tunes and the 86 tunes that run pi and di but our system is completely different from all the params and even the shape of the pistons iam convinced alot of our probablem is we are using a fuel we are not calibrated for
 

135boost

Corporal
Oct 28, 2017
243
1
136
0
Finland
Ride
135is
You have absolut right, most interesting thing should be reasons on bmw to choose just this values, but i think at the end it's more or less some stacked failsafes extras and my guess is that those are ment to trig in powerlevel of much lower than we try to arcieve.
 

Shitrockn54

Private
Apr 17, 2022
34
22
0
Ride
335xi
You have absolut right, most interesting thing should be reasons on bmw to choose just this values, but i think at the end it's more or less some stacked failsafes extras and my guess is that those are ment to trig in powerlevel of much lower than we try to arcieve.
It could also be a limit where the sensor loses acurarcy? Alot of calcs related go off modeled egt, modeled engine bay temps and other factors as well. Iam also faily certain the dme models turbo inlet temps aswell i breifly skimed some things about it in the fd. I think the fuel system is incredibly complex and there is a reason they decided to use a raw value at a certain point. I wish i new how to create logging params iam curious if this is even used? There is at least one switch in the bmw logic that says use sensor data. Theres alot more logic tracing to follow and the ability to log raw and corected data would be great to see how far the numbers are off and if its a mx+b kinda slope in the difrence?
 
  • Like
Reactions: wheela

iminhell1

Sergeant
Jun 17, 2018
419
207
0
I think alot of these problems come from the fuel system being set up for gas and us running ethanol seem to have more problems i wanted to run full e98 but the car hates it it doesn't seem to like anything more than e64 past that i have major timing pulls. I have bin working on defining everything in the fuel system and i plan on building a spread sheet that follows the factory logic for calcs once its all sorted. Our whole calibration is off with ethonol from the density of the fuel, the compressibility, ethonol is a "hoter" spirit so natural it flashes to vapor at a lower temp that has to be afecting the film wall the injection timing and the way it stacks difrent lambdas with multiple injection, there's a table kf_rkmin its the min factor fuel mass it has a note about being connected to zw_min and la_ist_m etc. There is a ton of calibration that is all wrong for using ethonol basically all we have done is play the feedforward table to add more fuel volume per charge mass. Maybe thats the whole isue and all this is other stuff is just another "work around" theres a ton of info on gdi but not much about ethonol on direct injection.
I was thinking of making a thread on it soon i dont feel ready till i actually figure out how to change these factors appropriately. I have looked at gm di tunes and the 86 tunes that run pi and di but our system is completely different from all the params and even the shape of the pistons iam convinced alot of our probablem is we are using a fuel we are not calibrated for



I'll try to dig up the papers,,, but all the differences really don't matter in the end. Yes the individual measurements for E85 differ from Gasoline. But the end result is a very similar flame propagation speed, required ignition timing for MBT, required injection timing for MBT, etc. That is why for the most part you can simply run a content sensor and be a Flex Fuel car (factory or otherwise).

Of note, "Thermal Compensator".
 
Last edited:

135boost

Corporal
Oct 28, 2017
243
1
136
0
Finland
Ride
135is
i went trough those amb calcs and maybe i`m totally wrong but i don`t think it`s root for this kind of issues, more
just to mask real issue with recalibrate values off by small amount

if i got it right, ambient pressure is calc at startup and if deviation is bigger than +-0.225 bar it start to compare that measured value with calculated value and linearize it on those, i didn`t really find any reason to cutoff fuel from specified cylinders due that, just calibrate fuel mass to air mass and that at most should be retuned via lambda closed loop and maybe trims is so much off then that it throw sel light

i know that was very rough simplified but didn`t get reason for those cylinder fuel cut`s from that logic..

then one sidekick, there is value for max acc, AC_VEH_MMV, that is to reduce acceleration before we are on speed limiter and parameters is

A filtered vehicle acceleration, AC_VEH_MMV is used to predict a future vehicle speed VS_PRED. The
vehicle speed limit, VS_MAX is also determinated at this point. For the fix limitation this limit will be
given by the constant C_VS_MAX.
Another part is the calculation of the vehicle speed deviation which is an essential variable for the vehicle
speed controller.

how to check if this predicting future verchile speed is not reason for torque limitations during wot acceleration
 

135boost

Corporal
Oct 28, 2017
243
1
136
0
Finland
Ride
135is
One day further, so i figured out a way to rule out what cause this annoying misfire issues and today i had a heurka moment

I did a pull with some 30psi boost target and now i log all 6 injector first phases and there it is, we have digged it from whole wrong places.

When it start to jerk, i see on log jump from fuel mode 2 to fuel mode 15 but i'm quite sure it's a synptom, not cause of anything.

When i start pull, everything is fine to prox 5600rpm in this tune and fuel injection mass is climbing to 216 mg/stroke, then there is some logic what cut injection fuel mass to 160mg/stroke on WHOLE BANK, not single cylinder.

I think it's with misfire detection on just the most sensitive one to trig misfire but reason is that whole bank fuel mass cut to
Some 70% of need and for sure it trig extreme lean condition fuel mode 15.

On my logs i got that situation first at 5600 in both banks and when i took a risk and continued wot, got it trigged again at some 7000 in omly one bank and both time that 0.8 sec timeframe.

So, there must be some limiter to do this

Trig seems to be lose 400 g/s maf level
Stft was at trig in a level of +- 2 so that can not be reason
Afr was at some 11.2 so not a reason
Lfpf and hfpf is not reason
Timeframe 0.8 sec
Affect allways whole bank
In my case, cut injection mass by prox 30% so it must jump from measured map to some calculated map or so
There is some treshold of 1.5 sec before it trigs again

So i think all these high hp not part related shits is from this and we have just tried to mask it with
Different xdf maps but root cause is still hidden in damos files.

My opinion is that there must be some torque, maf, nox, exhaust back pressure, cat protection, map treshold value what is trigged with maybe some treshold on those 400maf levels, force this to precalc map what is prox 30% off in my case, drive that for 0.8 sec, then recover and if that state of conditions still occure, 1,5 sec and it trigs again.

Now come my very dedicated guess, that precalculated fuel mass map or what ever is for petrol, not for e85 and that for sure explain that 30% off values

I don't have access to ieos damos file so i'm quite stuck with this issue now.

Cure is on my opinion trig value way higher, multiply that hidden whatever it is by 1,35 ot stretch that 1,5 second what i assume is there before first time it trigs.

Ps, i will put that log here, there is few stupid values, nothing to do with this issue but clearly visible that misfire triggering?.

Pps. Issue with my other tablet so at the moment not possible to upload logs but there is pic of log, to be seen spike in afr, fuel mode 15 and 30% reduced injected fuel mass for who,e bank at the time
 
Last edited:
  • Like
Reactions: wheela

135boost

Corporal
Oct 28, 2017
243
1
136
0
Finland
Ride
135is
16541034711372120469312849902850.jpg
 

carabuser

Lieutenant
Oct 2, 2019
870
1
765
0
UK
Ride
Z4 35i & 335i
I need to check my notes when I get home but I'm pretty sure a fuel mode of 15 means emergency mode (Notlauf).

I can then dig up possible causes of that and have some logging params to pinpoint it.
 
  • Like
Reactions: 135boost and wheela

135boost

Corporal
Oct 28, 2017
243
1
136
0
Finland
Ride
135is
Yes, for sure it's emergency when afr goes to 17:1 or 18:1 but my opinion is that it's triggered from some limit overshoot and my guess is that there is first 1.5 sec treshold, then 0.8 sec emergency map with propably calculated value for injection quantity to petrol, not e85 with mass difference about 30% off and that cause extreme lean condition, then again 1,5 sec treshold, 0.8 sec emergency map etc

Just evaluate fuel mode changes, first spool mode 20 that is okay, then 2 for 1,5 sec, 15 for 0.8 sec, then 2 for 1.5 sec and again 15 for 0.8 sec.

Compare that for whole bank jump from correct value, -30%, correct, -30% patter




Ps, note one thing on that log, if the jump to calc RAW maf is the root cause of the issue (C_MAF_THD_AMP_SUB), MHD log still show correct values on all maf modules (MAF, MAF_REQ, and MAF_REC_WG) so if that trig DME to jump to some other map, it just does not show it on log, rather continue to show calculated maf values.

then sequence is normal operation-mode 2 > maf goes to prox 400 -> jump to some other calculated raw map what is not visible or logger trough MHD ->measure AFR that is way too lean -> trig fuel mode 15 -> treshold 0.8 sec -> drop back to normal operation and monitor if that state still occure with treshold of 1,5 sec (can be that 1300ms) and force logic again back to RAW_MAF --> and again, trig fuel mode 15
etc

suggestions.... ideas...
 
Last edited:

carabuser

Lieutenant
Oct 2, 2019
870
1
765
0
UK
Ride
Z4 35i & 335i
Log this channel.

It's hard to follow the fuel modes but I think this should represent the emergency request.

Looking at your logs I'm suspicious of your rail pressure. Before we put time into following the cause of fuel mode 15 you should fix the VCV to get the rail pressure on target.
 

Attachments

  • IJE0S_UserChannels.zip
    309 bytes · Views: 20
  • Like
Reactions: 135boost

135boost

Corporal
Oct 28, 2017
243
1
136
0
Finland
Ride
135is
Thanks for that.

I found one small mistake on that hfpf in my tune.
I think that sawing in hfpf was from small variance between hfpf/load table and allowed wot hfpf table.

Conversion was different so i did not notice that but i fixed conversion to xdf to show real psi values.

Difference was prox 3000 vs 3450
 

135boost

Corporal
Oct 28, 2017
243
1
136
0
Finland
Ride
135is
Hi again

First i tougt there was that odd suspects that issues is caused from injection quantity goes over
234.5mg/stroke, that was not the issue, now with PI, i redused injection quantity to 210-220mg levels
But it didn't do any changes to this.

Same with boost vs boost target, it soes not seems to do any differences, close to target or 5 psi difference to target.

Tested withdifferent engine friction coefficient, no changes with that either. Same with different load to torque tables, nothing, tested some 300 different map configuratios, it just does not change the issue and patter of it.

Patter is allways at prox 400maf and some 5600-6100rpm, it start propably with some treshold so trig can be maybe that 1.4 sec earlier, then 0.8 sec injection quantity is reduced for whole bank some 35%, then recovery and some 1.4sec later it starts again with injection quantity reduction

What is irritating is that reducing is on sane amount that there is difference between petrol and e85 injection quantity.
Other odd is that it's allways whole bank, not any single cylinder, third odd is that occationally it's one, other time it's both bank.


My opinion, it's something in logic what at least i don't have access in my xdf, it's some limit value overshoot and it's same limit value everyone here find with similair performance level in little different rpm levels. There are so ma yvariables so it masks little behind many parameters.

I could be very interest about other 800+ hp level odd no hardware related misfire issues could check if there is similair
Constant lenght of jerks and if there is similarities with e85 that afr differ just that 35% and superlean.

It is notified that my misfire detection is off over 5000rpm so it will recover from superlean and some misfires, othervice it shut off cylinder and you will search fault from faulty injector or iginition parts.


Ps. My hfpf is very high, caused on that i has idea at first to run di only with max fuel quantitys so 3500psi
Is close to target



Seems that 0 notl_wahl value treshold limit is at 50.00 when this wierd shift trigs
 
Last edited: