Share this vehicle

Enquire Now

8,207 km
Sports Automatic
Sedan
Dravit Grey
Vehicle Details
Price: $174,880 Ex Gov't Charges*
Category: Used
Kilometres: 8,207 km
Fuel Consumption: 10.2L/100km
Body Type: Sedan, 4 doors, 5 seats
Engine: Petrol - Premium ULP Twin Turbo Intercooled, 3.0L
Exterior Colour: Dravit Grey
Interior Colour: Brown
Reg Plate: M3COMP25
Reg Expiry: August 2026
Build Date: January 2025
Compliance Date: April 2025
Drive Type: 4X4 On Demand
Stock #: SG1234212798888
VIN: WD19A123421279888
Dealer Comments

2025 BMW M3 Competition Sedan

A MIGHTY TEUTONIC COMPACT SEDAN

Finished in a truly likeable colour scheme: DRAVIT GREY with an attractive TARTUFO leather.
Impeccably presented , travelled only 8,207 kilometers.
Manufacturer's New Car Warranty till April 2030.

ONE LOOK IS ALL THAT IT WOULD TAKE


~~~~~~~~~~~~~~~~~~~~~~~~~~~

AVAILABLE FOR IMMEDIATE DELIVERY & AS ALWAYS, HAPPY MOTORING….!
Our team is committed to offering the best selection of European Prestige and Sports Cars.
Our aim is to always have on offer, the best motor cars available at the most competitive prices.

* Price excludes Statutory charges

INTERSTATE VEHICLE SALE:
• Cars will be sold unregistered
• Short term Drive Permit provided
• NSW "Pink-Slip" supplied

NSW VEHICLE SALE:
• Stamp Duty should be paid to the dealer prior to collection, or otherwise within 14 days of invoice when transferred by client.

• Finance and Insurance available
• Australia-wide delivery available
• Trade-ins are welcomed
• Crypto currency accepted
• E&OE

PLEASE NOTE:
Various details are automatically supplied by Redbook and may or may not be specific to the model.
All due diligence enquiries ought to be made by the buyer with the original selling dealer or the manufacturer.

Dimensions & Weights (17)
Width:
1903 mm
Height:
1438 mm
Length:
4801 mm
Payload:
480 kg
Tare Mass:
1743 kg
Wheelbase:
2857 mm
Track Rear:
1605 mm
Kerb Weight:
1780 kg
Track Front:
1617 mm
Rear Overhang:
1077 mm
Front Overhang:
867 mm
Ground Clearance:
122
Gross Vehicle Mass:
2260 kg
Maximum Rear Axle Load:
1200 kg
Maximum Front Axle Load:
1125 kg
Boot / Load Space Max (L):
480 L
Turning Circle Between Kerbs:
12.6 m
Engine (20)
Power:
390.0kW @ 6250rpm
Torque:
650Nm @ 2750-5730rpm
Camshaft:
DOHC with VVT & Lift
Cylinders:
6
Induction:
Twin Turbo Intercooled
Engine Code:
S58B30T0
Engine type:
Piston
Power rpm To:
6250 rpm
Maximum Speed:
250
Torque rpm To:
5730 rpm
Engine Location:
Front
Engine Size (L):
3.0 L
Torque rpm From:
2750 rpm
Engine Size (cc):
2993 cc
Compression ratio:
9.3
Generic Engine Type:
Piston
Engine Configuration:
In-line
Power to Weight Ratio:
223.8 kW/t
Acceleration 0-100km/h:
3.5 s
Valves/Ports per Cylinder:
4
Fuel (9)
Fuel Type:
Petrol - Premium ULP
RON Rating:
98
Fuel Capacity:
59 L
Fuel Delivery:
Direct Injection
Emission Standard:
Euro 6
Method of Delivery:
Electronic Sequential
CO2 Emission Combined:
232 g/km
Fuel Average Distance:
578 km
Fuel Consumption Combined:
10.2 L/100km
Other (9)
Badge:
Competition
Doors:
4
Series:
G80 LCI
Body Style:
Sedan
Launch Year:
2024
Launch Month:
7
Seat Capacity:
5
Generation Name:
G80/G81
Country of Origin:
GERMANY
Safety & Security (1)
Number of Airbags:
6
Transmission & Drivetrain (4)
Drive:
4X4 On Demand
Gears:
8
Gear Type:
Sports Automatic
Gear Location:
S/Wheel & Floor
Wheels & Tyres (5)
Rim Material:
Alloy
Rear Rim Description:
20x10.5
Front Rim Description:
19x9.5
Rear Tyre Description:
285/30 R20
Front Tyre Description:
275/35 R19

Specifications are based on manufacturer standard specifications. Actual features and specifications for this vehicle may differ. Please confirm these details with the seller.

Contact Scuderia Graziani
Monday: 9:00am - 6:00pm
Tuesday: 9:00am - 6:00pm
Wednesday: 9:00am - 6:00pm
Thursday: 9:00am - 6:00pm
Friday: 9:00am - 6:00pm
Saturday: 9:00am - 6:00pm
Sunday: By Appointment Only

* If the price does not contain the notation that it is "Drive Away", the price may not include additional costs, such as stamp duty and other government charges. Please confirm price and features with the seller of the vehicle.

JOIN THE SCUDERIA GRAZIANI COMMUNITY
DREAM CARS, NEW ARRIVALS, LATEST EVENTS!
PHNjcmlwdD4KdmFyIGdmb3JtO2dmb3JtfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZ2Zvcm1fbWFpbl9zY3JpcHRzX2xvYWRlZCIsZnVuY3Rpb24oKXtnZm9ybS5zY3JpcHRzTG9hZGVkPSEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZ2Zvcm0vdGhlbWUvc2NyaXB0c19sb2FkZWQiLGZ1bmN0aW9uKCl7Z2Zvcm0udGhlbWVTY3JpcHRzTG9hZGVkPSEwfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGZ1bmN0aW9uKCl7Z2Zvcm0uZG9tTG9hZGVkPSEwfSksZ2Zvcm09e2RvbUxvYWRlZDohMSxzY3JpcHRzTG9hZGVkOiExLHRoZW1lU2NyaXB0c0xvYWRlZDohMSxpc0Zvcm1FZGl0b3I6KCk9PiJmdW5jdGlvbiI9PXR5cGVvZiBJbml0aWFsaXplRWRpdG9yLGNhbGxJZkxvYWRlZDpmdW5jdGlvbihvKXtyZXR1cm4hKCFnZm9ybS5kb21Mb2FkZWR8fCFnZm9ybS5zY3JpcHRzTG9hZGVkfHwhZ2Zvcm0udGhlbWVTY3JpcHRzTG9hZGVkJiYhZ2Zvcm0uaXNGb3JtRWRpdG9yKCl8fChnZm9ybS5pc0Zvcm1FZGl0b3IoKSYmY29uc29sZS53YXJuKCJUaGUgdXNlIG9mIGdmb3JtLmluaXRpYWxpemVPbkxvYWRlZCgpIGlzIGRlcHJlY2F0ZWQgaW4gdGhlIGZvcm0gZWRpdG9yIGNvbnRleHQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBHcmF2aXR5IEZvcm1zIDMuMS4iKSxvKCksMCkpfSxpbml0aWFsaXplT25Mb2FkZWQ6ZnVuY3Rpb24obyl7Z2Zvcm0uY2FsbElmTG9hZGVkKG8pfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZ2Zvcm1fbWFpbl9zY3JpcHRzX2xvYWRlZCIsKCk9PntnZm9ybS5zY3JpcHRzTG9hZGVkPSEwLGdmb3JtLmNhbGxJZkxvYWRlZChvKX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImdmb3JtL3RoZW1lL3NjcmlwdHNfbG9hZGVkIiwoKT0+e2dmb3JtLnRoZW1lU2NyaXB0c0xvYWRlZD0hMCxnZm9ybS5jYWxsSWZMb2FkZWQobyl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCk9PntnZm9ybS5kb21Mb2FkZWQ9ITAsZ2Zvcm0uY2FsbElmTG9hZGVkKG8pfSkpfSxob29rczp7YWN0aW9uOnt9LGZpbHRlcjp7fX0sYWRkQWN0aW9uOmZ1bmN0aW9uKG8scixlLHQpe2dmb3JtLmFkZEhvb2soImFjdGlvbiIsbyxyLGUsdCl9LGFkZEZpbHRlcjpmdW5jdGlvbihvLHIsZSx0KXtnZm9ybS5hZGRIb29rKCJmaWx0ZXIiLG8scixlLHQpfSxkb0FjdGlvbjpmdW5jdGlvbihvKXtnZm9ybS5kb0hvb2soImFjdGlvbiIsbyxhcmd1bWVudHMpfSxhcHBseUZpbHRlcnM6ZnVuY3Rpb24obyl7cmV0dXJuIGdmb3JtLmRvSG9vaygiZmlsdGVyIixvLGFyZ3VtZW50cyl9LHJlbW92ZUFjdGlvbjpmdW5jdGlvbihvLHIpe2dmb3JtLnJlbW92ZUhvb2soImFjdGlvbiIsbyxyKX0scmVtb3ZlRmlsdGVyOmZ1bmN0aW9uKG8scixlKXtnZm9ybS5yZW1vdmVIb29rKCJmaWx0ZXIiLG8scixlKX0sYWRkSG9vazpmdW5jdGlvbihvLHIsZSx0LG4pe251bGw9PWdmb3JtLmhvb2tzW29dW3JdJiYoZ2Zvcm0uaG9va3Nbb11bcl09W10pO3ZhciBkPWdmb3JtLmhvb2tzW29dW3JdO251bGw9PW4mJihuPXIrIl8iK2QubGVuZ3RoKSxnZm9ybS5ob29rc1tvXVtyXS5wdXNoKHt0YWc6bixjYWxsYWJsZTplLHByaW9yaXR5OnQ9bnVsbD09dD8xMDp0fSl9LGRvSG9vazpmdW5jdGlvbihyLG8sZSl7dmFyIHQ7aWYoZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLDEpLG51bGwhPWdmb3JtLmhvb2tzW3JdW29dJiYoKG89Z2Zvcm0uaG9va3Nbcl1bb10pLnNvcnQoZnVuY3Rpb24obyxyKXtyZXR1cm4gby5wcmlvcml0eS1yLnByaW9yaXR5fSksby5mb3JFYWNoKGZ1bmN0aW9uKG8peyJmdW5jdGlvbiIhPXR5cGVvZih0PW8uY2FsbGFibGUpJiYodD13aW5kb3dbdF0pLCJhY3Rpb24iPT1yP3QuYXBwbHkobnVsbCxlKTplWzBdPXQuYXBwbHkobnVsbCxlKX0pKSwiZmlsdGVyIj09cilyZXR1cm4gZVswXX0scmVtb3ZlSG9vazpmdW5jdGlvbihvLHIsdCxuKXt2YXIgZTtudWxsIT1nZm9ybS5ob29rc1tvXVtyXSYmKGU9KGU9Z2Zvcm0uaG9va3Nbb11bcl0pLmZpbHRlcihmdW5jdGlvbihvLHIsZSl7cmV0dXJuISEobnVsbCE9biYmbiE9by50YWd8fG51bGwhPXQmJnQhPW8ucHJpb3JpdHkpfSksZ2Zvcm0uaG9va3Nbb11bcl09ZSl9fSk7Cjwvc2NyaXB0PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmX2Jyb3dzZXJfY2hyb21lIGdmb3JtX3dyYXBwZXIgZ3Jhdml0eS10aGVtZSBnZm9ybS10aGVtZS0tbm8tZnJhbWV3b3JrIGpvaW4tY29tbXVuaXR5X3dyYXBwZXInIGRhdGEtZm9ybS10aGVtZT0nZ3Jhdml0eS10aGVtZScgZGF0YS1mb3JtLWluZGV4PScwJyBpZD0nZ2Zvcm1fd3JhcHBlcl82JyA+PGRpdiBpZD0nZ2ZfNicgY2xhc3M9J2dmb3JtX2FuY2hvcicgdGFiaW5kZXg9Jy0xJz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nZ2Zvcm1faGVhZGluZyc+CgkJCQkJCQk8cCBjbGFzcz0nZ2Zvcm1fcmVxdWlyZWRfbGVnZW5kJz48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pjxmb3JtIG1ldGhvZD0ncG9zdCcgZW5jdHlwZT0nbXVsdGlwYXJ0L2Zvcm0tZGF0YScgdGFyZ2V0PSdnZm9ybV9hamF4X2ZyYW1lXzYnIGlkPSdnZm9ybV82JyBjbGFzcz0nam9pbi1jb21tdW5pdHknIGFjdGlvbj0nL2NsaWVudGVsZSNnZl82JyBkYXRhLWZvcm1pZD0nNicgbm92YWxpZGF0ZT4gDQogPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3Jtcy1wdW0nIHZhbHVlPSd7ImNsb3NlcG9wdXAiOmZhbHNlLCJjbG9zZWRlbGF5IjowLCJvcGVucG9wdXAiOmZhbHNlLCJvcGVucG9wdXBfaWQiOjB9JyAvPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZm9ybS1ib2R5IGdmb3JtX2JvZHknPjxkaXYgaWQ9J2dmb3JtX2ZpZWxkc182JyBjbGFzcz0nZ2Zvcm1fZmllbGRzIHRvcF9sYWJlbCBmb3JtX3N1YmxhYmVsX2JlbG93IGRlc2NyaXB0aW9uX2JlbG93IHZhbGlkYXRpb25fYmVsb3cnPjxkaXYgaWQ9ImZpZWxkXzZfOCIgY2xhc3M9ImdmaWVsZCBnZmllbGQtLXR5cGUtaG9uZXlwb3QgZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIgZmllbGRfc3VibGFiZWxfYmVsb3cgZ2ZpZWxkLS1oYXMtZGVzY3JpcHRpb24gZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgZmllbGRfdmFsaWRhdGlvbl9iZWxvdyBnZmllbGRfdmlzaWJpbGl0eV92aXNpYmxlIiAgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsIGdmb3JtLWZpZWxkLWxhYmVsJyBmb3I9J2lucHV0XzZfOCc+TGlua2VkSW48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF84JyBpZD0naW5wdXRfNl84JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBhdXRvY29tcGxldGU9J25ldy1wYXNzd29yZCcvPjwvZGl2PjxkaXYgY2xhc3M9J2dmaWVsZF9kZXNjcmlwdGlvbicgaWQ9J2dmaWVsZF9kZXNjcmlwdGlvbl82XzgnPlRoaXMgZmllbGQgaXMgZm9yIHZhbGlkYXRpb24gcHVycG9zZXMgYW5kIHNob3VsZCBiZSBsZWZ0IHVuY2hhbmdlZC48L2Rpdj48L2Rpdj48ZGl2IGlkPSJmaWVsZF82XzEiIGNsYXNzPSJnZmllbGQgZ2ZpZWxkLS10eXBlLXRleHQgZ2ZpZWxkLS1pbnB1dC10eXBlLXRleHQgZ2ZpZWxkLS13aWR0aC10aGlyZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZ2ZpZWxkLS1uby1kZXNjcmlwdGlvbiBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdyBoaWRkZW5fbGFiZWwgZmllbGRfdmFsaWRhdGlvbl9iZWxvdyBnZmllbGRfdmlzaWJpbGl0eV92aXNpYmxlIiAgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsIGdmb3JtLWZpZWxkLWxhYmVsJyBmb3I9J2lucHV0XzZfMSc+Rmlyc3QgTmFtZTxzcGFuIGNsYXNzPSJnZmllbGRfcmVxdWlyZWQiPjxzcGFuIGNsYXNzPSJnZmllbGRfcmVxdWlyZWQgZ2ZpZWxkX3JlcXVpcmVkX2FzdGVyaXNrIj4qPC9zcGFuPjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXIgZ2lucHV0X2NvbnRhaW5lcl90ZXh0Jz48aW5wdXQgbmFtZT0naW5wdXRfMScgaWQ9J2lucHV0XzZfMScgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J2xhcmdlJyAgICBwbGFjZWhvbGRlcj0nRmlyc3QgTmFtZScgYXJpYS1yZXF1aXJlZD0idHJ1ZSIgYXJpYS1pbnZhbGlkPSJmYWxzZSIgICAvPjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImZpZWxkXzZfMiIgY2xhc3M9ImdmaWVsZCBnZmllbGQtLXR5cGUtdGV4dCBnZmllbGQtLWlucHV0LXR5cGUtdGV4dCBnZmllbGQtLXdpZHRoLXRoaXJkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBnZmllbGQtLW5vLWRlc2NyaXB0aW9uIGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGhpZGRlbl9sYWJlbCBmaWVsZF92YWxpZGF0aW9uX2JlbG93IGdmaWVsZF92aXNpYmlsaXR5X3Zpc2libGUiICA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwgZ2Zvcm0tZmllbGQtbGFiZWwnIGZvcj0naW5wdXRfNl8yJz5MYXN0IE5hbWU8c3BhbiBjbGFzcz0iZ2ZpZWxkX3JlcXVpcmVkIj48c3BhbiBjbGFzcz0iZ2ZpZWxkX3JlcXVpcmVkIGdmaWVsZF9yZXF1aXJlZF9hc3RlcmlzayI+Kjwvc3Bhbj48L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyIGdpbnB1dF9jb250YWluZXJfdGV4dCc+PGlucHV0IG5hbWU9J2lucHV0XzInIGlkPSdpbnB1dF82XzInIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdsYXJnZScgICAgcGxhY2Vob2xkZXI9J0xhc3QgTmFtZScgYXJpYS1yZXF1aXJlZD0idHJ1ZSIgYXJpYS1pbnZhbGlkPSJmYWxzZSIgICAvPjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImZpZWxkXzZfNCIgY2xhc3M9ImdmaWVsZCBnZmllbGQtLXR5cGUtZW1haWwgZ2ZpZWxkLS1pbnB1dC10eXBlLWVtYWlsIGdmaWVsZC0td2lkdGgtdGhpcmQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGdmaWVsZC0tbm8tZGVzY3JpcHRpb24gZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgaGlkZGVuX2xhYmVsIGZpZWxkX3ZhbGlkYXRpb25fYmVsb3cgZ2ZpZWxkX3Zpc2liaWxpdHlfdmlzaWJsZSIgID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCBnZm9ybS1maWVsZC1sYWJlbCcgZm9yPSdpbnB1dF82XzQnPkVtYWlsPHNwYW4gY2xhc3M9ImdmaWVsZF9yZXF1aXJlZCI+PHNwYW4gY2xhc3M9ImdmaWVsZF9yZXF1aXJlZCBnZmllbGRfcmVxdWlyZWRfYXN0ZXJpc2siPio8L3NwYW4+PC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX2VtYWlsJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSdpbnB1dF80JyBpZD0naW5wdXRfNl80JyB0eXBlPSdlbWFpbCcgdmFsdWU9JycgY2xhc3M9J2xhcmdlJyAgIHBsYWNlaG9sZGVyPSdFbWFpbCcgYXJpYS1yZXF1aXJlZD0idHJ1ZSIgYXJpYS1pbnZhbGlkPSJmYWxzZSIgIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjxkaXYgaWQ9ImZpZWxkXzZfNSIgY2xhc3M9ImdmaWVsZCBnZmllbGQtLXR5cGUtc2VsZWN0IGdmaWVsZC0taW5wdXQtdHlwZS1zZWxlY3QgZ2ZpZWxkLS13aWR0aC10d28tdGhpcmRzIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBnZmllbGQtLW5vLWRlc2NyaXB0aW9uIGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGhpZGRlbl9sYWJlbCBmaWVsZF92YWxpZGF0aW9uX2JlbG93IGdmaWVsZF92aXNpYmlsaXR5X3Zpc2libGUiICA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwgZ2Zvcm0tZmllbGQtbGFiZWwnIGZvcj0naW5wdXRfNl81Jz5XaGF0IGludGVyZXN0cyB5b3U/PHNwYW4gY2xhc3M9ImdmaWVsZF9yZXF1aXJlZCI+PHNwYW4gY2xhc3M9ImdmaWVsZF9yZXF1aXJlZCBnZmllbGRfcmVxdWlyZWRfYXN0ZXJpc2siPio8L3NwYW4+PC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX3NlbGVjdCc+PHNlbGVjdCBuYW1lPSdpbnB1dF81JyBpZD0naW5wdXRfNl81JyBjbGFzcz0nbGFyZ2UgZ2ZpZWxkX3NlbGVjdCcgICAgYXJpYS1yZXF1aXJlZD0idHJ1ZSIgYXJpYS1pbnZhbGlkPSJmYWxzZSIgPjxvcHRpb24gdmFsdWU9Jycgc2VsZWN0ZWQ9J3NlbGVjdGVkJyBjbGFzcz0nZ2ZfcGxhY2Vob2xkZXInPldoYXQgaW50ZXJlc3RzIHlvdT88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYXJzOiBMYXRlc3QgQXJyaXZhbHMgJmFtcDsgU3RvY2snID5DYXJzOiBMYXRlc3QgQXJyaXZhbHMgJmFtcDsgU3RvY2s8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXdzOiBTRyBOZXdzJyA+TmV3czogU0cgTmV3czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpZmVzdHlsZScgPkxpZmVzdHlsZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsbCBvZiB0aGUgYWJvdmUnID5BbGwgb2YgdGhlIGFib3ZlPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PC9kaXY+PGRpdiBpZD0iZmllbGRfNl82IiBjbGFzcz0iZ2ZpZWxkIGdmaWVsZC0tdHlwZS1oaWRkZW4gZ2ZpZWxkLS1pbnB1dC10eXBlLWhpZGRlbiBnZmllbGQtLXdpZHRoLWZ1bGwgZ2Zvcm1faGlkZGVuIGZpZWxkX3N1YmxhYmVsX2JlbG93IGdmaWVsZC0tbm8tZGVzY3JpcHRpb24gZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgZmllbGRfdmFsaWRhdGlvbl9iZWxvdyBnZmllbGRfdmlzaWJpbGl0eV92aXNpYmxlIiAgPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXIgZ2lucHV0X2NvbnRhaW5lcl90ZXh0Jz48aW5wdXQgbmFtZT0naW5wdXRfNicgaWQ9J2lucHV0XzZfNicgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyAgYXJpYS1pbnZhbGlkPSJmYWxzZSIgdmFsdWU9J0NsaWVudGVsZScgLz48L2Rpdj48L2Rpdj48ZGl2IGlkPSJmaWVsZF82XzciIGNsYXNzPSJnZmllbGQgZ2ZpZWxkLS10eXBlLWhpZGRlbiBnZmllbGQtLWlucHV0LXR5cGUtaGlkZGVuIGdmaWVsZC0td2lkdGgtZnVsbCBnZm9ybV9oaWRkZW4gZmllbGRfc3VibGFiZWxfYmVsb3cgZ2ZpZWxkLS1uby1kZXNjcmlwdGlvbiBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdyBmaWVsZF92YWxpZGF0aW9uX2JlbG93IGdmaWVsZF92aXNpYmlsaXR5X3Zpc2libGUiICA+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lciBnaW5wdXRfY29udGFpbmVyX3RleHQnPjxpbnB1dCBuYW1lPSdpbnB1dF83JyBpZD0naW5wdXRfNl83JyB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nICBhcmlhLWludmFsaWQ9ImZhbHNlIiB2YWx1ZT0naHR0cHM6Ly93d3cuc2N1ZGVyaWFncmF6aWFuaS5jb20vY2xpZW50ZWxlJyAvPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtLWZvb3RlciBnZm9ybV9mb290ZXIgdG9wX2xhYmVsJz4gPGJ1dHRvbiBjbGFzcz0nYnV0dG9uJyB0eXBlPSdzdWJtaXQnIGlkPSdnZm9ybV9zdWJtaXRfYnV0dG9uXzYnPlN1YnNjcmliZTwvYnV0dG9uPiA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdnZm9ybV9hamF4JyB2YWx1ZT0nZm9ybV9pZD02JmFtcDt0aXRsZT0mYW1wO2Rlc2NyaXB0aW9uPSZhbXA7dGFiaW5kZXg9MCZhbXA7dGhlbWU9Z3Jhdml0eS10aGVtZSZhbXA7c3R5bGVzPVtdJmFtcDtoYXNoPWZhZWEyOTMxNTQ1MTQwMzM4ZGNhMjNjOTkzYTQxYzFhJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV9zdWJtaXNzaW9uX21ldGhvZCcgZGF0YS1qcz0nZ2Zvcm1fc3VibWlzc2lvbl9tZXRob2RfNicgdmFsdWU9J2lmcmFtZScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fdGhlbWUnIGRhdGEtanM9J2dmb3JtX3RoZW1lXzYnIGlkPSdnZm9ybV90aGVtZV82JyB2YWx1ZT0nZ3Jhdml0eS10aGVtZScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc3R5bGVfc2V0dGluZ3MnIGRhdGEtanM9J2dmb3JtX3N0eWxlX3NldHRpbmdzXzYnIGlkPSdnZm9ybV9zdHlsZV9zZXR0aW5nc182JyB2YWx1ZT0nW10nIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2lzX3N1Ym1pdF82JyB2YWx1ZT0nMScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc3VibWl0JyB2YWx1ZT0nNicgLz4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX2N1cnJlbmN5JyBkYXRhLWN1cnJlbmN5PSdBVUQnIHZhbHVlPSdvVkVXM21PbHNoUHdOR1JQLzdqQUlkZFBHclRVczB6ZU9iOForVk5TQllDVUJLLy82Rk9SVit2OU9FZkMzcjhTeFBCbmw2UElBSS9QNngyYWsrVjE1Z1l1bEdDVWtjN3NVRE1VL2VNakZqZHJ4aWc9JyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV91bmlxdWVfaWQnIHZhbHVlPScnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J3N0YXRlXzYnIHZhbHVlPSdXeUpiWFNJc0lqSXhORFUxWW1VNU5qQXdZMlJtT0RSa05EbGpaR0U0WTJGallqVTNOVGhqSWwwPScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgYXV0b2NvbXBsZXRlPSdvZmYnIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl82JyBpZD0nZ2Zvcm1fdGFyZ2V0X3BhZ2VfbnVtYmVyXzYnIHZhbHVlPScwJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBhdXRvY29tcGxldGU9J29mZicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzYnIGlkPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfNicgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2ZpZWxkX3ZhbHVlcycgdmFsdWU9JycgLz4KICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJICAgICAgICAgICAgICAgIDxpZnJhbWUgc3R5bGU9J2Rpc3BsYXk6bm9uZTt3aWR0aDowcHg7aGVpZ2h0OjBweDsnIHNyYz0nYWJvdXQ6YmxhbmsnIG5hbWU9J2dmb3JtX2FqYXhfZnJhbWVfNicgaWQ9J2dmb3JtX2FqYXhfZnJhbWVfNicgdGl0bGU9J1RoaXMgaWZyYW1lIGNvbnRhaW5zIHRoZSBsb2dpYyByZXF1aXJlZCB0byBoYW5kbGUgQWpheCBwb3dlcmVkIEdyYXZpdHkgRm9ybXMuJz48L2lmcmFtZT4KCQkgICAgICAgICAgICAgICAgPHNjcmlwdD4KZ2Zvcm0uaW5pdGlhbGl6ZU9uTG9hZGVkKCBmdW5jdGlvbigpIHtnZm9ybUluaXRTcGlubmVyKCA2LCAnaHR0cHM6Ly93d3cuc2N1ZGVyaWFncmF6aWFuaS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5zdmcnLCB0cnVlICk7alF1ZXJ5KCcjZ2Zvcm1fYWpheF9mcmFtZV82Jykub24oJ2xvYWQnLGZ1bmN0aW9uKCl7dmFyIGNvbnRlbnRzID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnKicpLmh0bWwoKTt2YXIgaXNfcG9zdGJhY2sgPSBjb250ZW50cy5pbmRleE9mKCdHRl9BSkFYX1BPU1RCQUNLJykgPj0gMDtpZighaXNfcG9zdGJhY2spe3JldHVybjt9dmFyIGZvcm1fY29udGVudCA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV93cmFwcGVyXzYnKTt2YXIgaXNfY29uZmlybWF0aW9uID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyXzYnKS5sZW5ndGggPiAwO3ZhciBpc19yZWRpcmVjdCA9IGNvbnRlbnRzLmluZGV4T2YoJ2dmb3JtUmVkaXJlY3QoKXsnKSA+PSAwO3ZhciBpc19mb3JtID0gZm9ybV9jb250ZW50Lmxlbmd0aCA+IDAgJiYgISBpc19yZWRpcmVjdCAmJiAhIGlzX2NvbmZpcm1hdGlvbjt2YXIgbXQgPSBwYXJzZUludChqUXVlcnkoJ2h0bWwnKS5jc3MoJ21hcmdpbi10b3AnKSwgMTApICsgcGFyc2VJbnQoalF1ZXJ5KCdib2R5JykuY3NzKCdtYXJnaW4tdG9wJyksIDEwKSArIDEwMDtpZihpc19mb3JtKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzYnKS5odG1sKGZvcm1fY29udGVudC5odG1sKCkpO2lmKGZvcm1fY29udGVudC5oYXNDbGFzcygnZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcicpKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzYnKS5hZGRDbGFzcygnZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcicpO30gZWxzZSB7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl82JykucmVtb3ZlQ2xhc3MoJ2dmb3JtX3ZhbGlkYXRpb25fZXJyb3InKTt9c2V0VGltZW91dCggZnVuY3Rpb24oKSB7IC8qIGRlbGF5IHRoZSBzY3JvbGwgYnkgNTAgbWlsbGlzZWNvbmRzIHRvIGZpeCBhIGJ1ZyBpbiBjaHJvbWUgKi8galF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl82Jykub2Zmc2V0KCkudG9wIC0gbXQpOyB9LCA1MCApO2lmKHdpbmRvd1snZ2Zvcm1Jbml0RGF0ZXBpY2tlciddKSB7Z2Zvcm1Jbml0RGF0ZXBpY2tlcigpO31pZih3aW5kb3dbJ2dmb3JtSW5pdFByaWNlRmllbGRzJ10pIHtnZm9ybUluaXRQcmljZUZpZWxkcygpO312YXIgY3VycmVudF9wYWdlID0galF1ZXJ5KCcjZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzYnKS52YWwoKTtnZm9ybUluaXRTcGlubmVyKCA2LCAnaHR0cHM6Ly93d3cuc2N1ZGVyaWFncmF6aWFuaS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5zdmcnLCB0cnVlICk7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wYWdlX2xvYWRlZCcsIFs2LCBjdXJyZW50X3BhZ2VdKTt3aW5kb3dbJ2dmX3N1Ym1pdHRpbmdfNiddID0gZmFsc2U7fWVsc2UgaWYoIWlzX3JlZGlyZWN0KXt2YXIgY29uZmlybWF0aW9uX2NvbnRlbnQgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcuR0ZfQUpBWF9QT1NUQkFDSycpLmh0bWwoKTtpZighY29uZmlybWF0aW9uX2NvbnRlbnQpe2NvbmZpcm1hdGlvbl9jb250ZW50ID0gY29udGVudHM7fWpRdWVyeSgnI2dmb3JtX3dyYXBwZXJfNicpLnJlcGxhY2VXaXRoKGNvbmZpcm1hdGlvbl9jb250ZW50KTtqUXVlcnkoZG9jdW1lbnQpLnNjcm9sbFRvcChqUXVlcnkoJyNnZl82Jykub2Zmc2V0KCkudG9wIC0gbXQpO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fY29uZmlybWF0aW9uX2xvYWRlZCcsIFs2XSk7d2luZG93WydnZl9zdWJtaXR0aW5nXzYnXSA9IGZhbHNlO3dwLmExMXkuc3BlYWsoalF1ZXJ5KCcjZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2VfNicpLnRleHQoKSk7fWVsc2V7alF1ZXJ5KCcjZ2Zvcm1fNicpLmFwcGVuZChjb250ZW50cyk7aWYod2luZG93WydnZm9ybVJlZGlyZWN0J10pIHtnZm9ybVJlZGlyZWN0KCk7fX1qUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoImdmb3JtX3ByZV9wb3N0X3JlbmRlciIsIFt7IGZvcm1JZDogIjYiLCBjdXJyZW50UGFnZTogImN1cnJlbnRfcGFnZSIsIGFib3J0OiBmdW5jdGlvbigpIHsgdGhpcy5wcmV2ZW50RGVmYXVsdCgpOyB9IH1dKTsgICAgICAgIGlmIChldmVudCAmJiBldmVudC5kZWZhdWx0UHJldmVudGVkKSB7ICAgICAgICAgICAgICAgIHJldHVybjsgICAgICAgIH0gICAgICAgIGNvbnN0IGdmb3JtV3JhcHBlckRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCAiZ2Zvcm1fd3JhcHBlcl82IiApOyAgICAgICAgaWYgKCBnZm9ybVdyYXBwZXJEaXYgKSB7ICAgICAgICAgICAgY29uc3QgdmlzaWJpbGl0eVNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAic3BhbiIgKTsgICAgICAgICAgICB2aXNpYmlsaXR5U3Bhbi5pZCA9ICJnZm9ybV92aXNpYmlsaXR5X3Rlc3RfNiI7ICAgICAgICAgICAgZ2Zvcm1XcmFwcGVyRGl2Lmluc2VydEFkamFjZW50RWxlbWVudCggImFmdGVyZW5kIiwgdmlzaWJpbGl0eVNwYW4gKTsgICAgICAgIH0gICAgICAgIGNvbnN0IHZpc2liaWxpdHlUZXN0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoICJnZm9ybV92aXNpYmlsaXR5X3Rlc3RfNiIgKTsgICAgICAgIGxldCBwb3N0UmVuZGVyRmlyZWQgPSBmYWxzZTsgICAgICAgIGZ1bmN0aW9uIHRyaWdnZXJQb3N0UmVuZGVyKCkgeyAgICAgICAgICAgIGlmICggcG9zdFJlbmRlckZpcmVkICkgeyAgICAgICAgICAgICAgICByZXR1cm47ICAgICAgICAgICAgfSAgICAgICAgICAgIHBvc3RSZW5kZXJGaXJlZCA9IHRydWU7ICAgICAgICAgICAgZ2Zvcm0uY29yZS50cmlnZ2VyUG9zdFJlbmRlckV2ZW50cyggNiwgY3VycmVudF9wYWdlICk7ICAgICAgICAgICAgaWYgKCB2aXNpYmlsaXR5VGVzdERpdiApIHsgICAgICAgICAgICAgICAgdmlzaWJpbGl0eVRlc3REaXYucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCggdmlzaWJpbGl0eVRlc3REaXYgKTsgICAgICAgICAgICB9ICAgICAgICB9ICAgICAgICBmdW5jdGlvbiBkZWJvdW5jZSggZnVuYywgd2FpdCwgaW1tZWRpYXRlICkgeyAgICAgICAgICAgIHZhciB0aW1lb3V0OyAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsgICAgICAgICAgICAgICAgdmFyIGNvbnRleHQgPSB0aGlzLCBhcmdzID0gYXJndW1lbnRzOyAgICAgICAgICAgICAgICB2YXIgbGF0ZXIgPSBmdW5jdGlvbigpIHsgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBudWxsOyAgICAgICAgICAgICAgICAgICAgaWYgKCAhaW1tZWRpYXRlICkgZnVuYy5hcHBseSggY29udGV4dCwgYXJncyApOyAgICAgICAgICAgICAgICB9OyAgICAgICAgICAgICAgICB2YXIgY2FsbE5vdyA9IGltbWVkaWF0ZSAmJiAhdGltZW91dDsgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KCB0aW1lb3V0ICk7ICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBzZXRUaW1lb3V0KCBsYXRlciwgd2FpdCApOyAgICAgICAgICAgICAgICBpZiAoIGNhbGxOb3cgKSBmdW5jLmFwcGx5KCBjb250ZXh0LCBhcmdzICk7ICAgICAgICAgICAgfTsgICAgICAgIH0gICAgICAgIGNvbnN0IGRlYm91bmNlZFRyaWdnZXJQb3N0UmVuZGVyID0gZGVib3VuY2UoIGZ1bmN0aW9uKCkgeyAgICAgICAgICAgIHRyaWdnZXJQb3N0UmVuZGVyKCk7ICAgICAgICB9LCAyMDAgKTsgICAgICAgIGlmICggdmlzaWJpbGl0eVRlc3REaXYgJiYgdmlzaWJpbGl0eVRlc3REaXYub2Zmc2V0UGFyZW50ID09PSBudWxsICkgeyAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoICggbXV0YXRpb25zICkgPT4geyAgICAgICAgICAgICAgICBtdXRhdGlvbnMuZm9yRWFjaCggKCBtdXRhdGlvbiApID0+IHsgICAgICAgICAgICAgICAgICAgIGlmICggbXV0YXRpb24udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnICYmIHZpc2liaWxpdHlUZXN0RGl2Lm9mZnNldFBhcmVudCAhPT0gbnVsbCApIHsgICAgICAgICAgICAgICAgICAgICAgICBkZWJvdW5jZWRUcmlnZ2VyUG9zdFJlbmRlcigpOyAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgfSk7ICAgICAgICAgICAgfSk7ICAgICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSggZG9jdW1lbnQuYm9keSwgeyAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLCAgICAgICAgICAgICAgICBjaGlsZExpc3Q6IGZhbHNlLCAgICAgICAgICAgICAgICBzdWJ0cmVlOiB0cnVlLCAgICAgICAgICAgICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsgJ3N0eWxlJywgJ2NsYXNzJyBdLCAgICAgICAgICAgIH0pOyAgICAgICAgfSBlbHNlIHsgICAgICAgICAgICB0cmlnZ2VyUG9zdFJlbmRlcigpOyAgICAgICAgfSAgICB9ICk7fSApOwo8L3NjcmlwdD4K