Eurowings Discover 4Y132 (OCN132) from Frankfurt to Windhoek (2024)

01. Sep 2024

On Time
This flight is scheduled, it will depart in 6 hours.

FRA

Frankfurt
CHECK-IN: 474-488
TERMINAL: 1 B
GATE: C13

->

10h 25m
8,120km / 5,012mi

01 Sep 21:55CEST
19:55 UTC

02 Sep 08:20CAT
06:20 UTC

AIRLINE

NAME
Eurowings Discover

IATA / ICAO
4Y / OCN

COUNTRY
Germany
Airline Information
" : ""}Eurowings Discover 4Y132 (OCN132) from Frankfurt to Windhoek (5)`; if (activeHex in marker) { liveMap.removeLayer(marker[activeHex]); } const m = L.marker(activeMarker.getLatLng(), { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: activeHex, opacity: lp[7] != '' ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[activeHex] = m; document.getElementById(`mi-${activeHex}`).style.transform = `rotate(${lp[2]}deg)`; activeMarker = null; } activeHex = null; liveTrack = null; liveMarker = null; estTrack = null; document.getElementById('liveMapContainer').style.display = 'none'; document.getElementById('mapSearch').style.display = 'block';} /** * Recalculates the new position of a marker based on the time elapsed and its previous state. * @param {Object} liveMap */async function updateCalc(liveMap) { if (recalcInProg || liveMap.getZoom() < 6) { return; } recalcInProg = true; for (const [key, prevPos] of Object.entries(lastPos)) { if (key in marker && prevPos[3] >= 50 && !prevPos[6]) { const speed = prevPos[3] || 0; const interval = Date.now() - prevPos[4]; const dist = speed * interval / 1000 / 3600 * 1852; if (dist < 20) { continue; } // calculate next position const lat1 = toRad(prevPos[0]); const lon1 = toRad(prevPos[1]); const brng = toRad(prevPos[2]); const lat2 = Math.asin(sin(lat1) * cos(dist / r_earth) + cos(lat1) * sin(dist / r_earth) * cos(brng)); const lon2 = lon1 + Math.atan2(sin(brng) * sin(dist / r_earth) * cos(lat1), cos(dist / r_earth) - sin(lat1) * sin(lat2)); const lat2d = toDeg(lat2); const lon2d = toDeg(lon2); lastPos[key] = [lat2d, lon2d, prevPos[2], prevPos[3], Date.now(), prevPos[5], prevPos[6], prevPos[7]]; marker[key].setLatLng([lat2d, lon2d]); if (liveTrack && activeMarker == key) { const l = liveTrack.getLatLngs(); l.push(L.latLng(lat2d, lon2d, prevPos[5])); try { liveTrack.setLatLngs(l); } catch (e) { /* Catch error silently. */ } if (activeDest) { const tn = L.latLng(lat2d, lon2d); liveMap.removeLayer(estTrack); const arcOptions = { color: "lightgray", noClip: true, vertices: 100 }; estTrack = t.lng < tn.lng ? L.Polyline.Arc(activeDest, tn, arcOptions) : L.Polyline.Arc(tn, activeDest, arcOptions); estTrack.addTo(liveMap); tracks.push(estTrack); } } } } recalcInProg = false;}/** * Fetches data from a specific URL, handles errors and returns the JSON response. * @param {string} url */async function getData(url) { const response = await fetch(url, { headers: { Authorization: auth_token } }); if (!response.ok) { handleFetchErrors(response); return null; } if (sf === "") { document.getElementById("liveUpdErr").style.display = 'none'; document.getElementById("liveUpdNotFound").style.display = 'none'; } return response.json();}/** * Handles errors during fetch call * @param {Object} response */function handleFetchErrors(response) { if (sf !== "") return; const liveUpdErr = document.getElementById("liveUpdErr"); const liveUpdNotFound = document.getElementById("liveUpdNotFound"); const liveMapContainer = document.getElementById("liveMapContainer"); const mapSearch = document.getElementById("mapSearch"); if (response.status !== 404) { refreshsActive = false; liveUpdNotFound.style.display = 'none'; liveUpdErr.style.display = 'block'; liveMapContainer.style.display = 'none'; mapSearch.style.display = 'block'; document.getElementById("liveUpdErrCode").innerText = response.status; } else { liveUpdErr.style.display = 'none'; liveMapContainer.style.display = 'none'; mapSearch.style.display = 'block'; liveUpdNotFound.style.display = 'block'; }}async function updateMap(liveMap, fromZoom, clickHex) { if (documentIsHidden()) return; const bounds = liveMap.getBounds(); const url = constructURL(bounds, liveMap.getZoom(), clickHex); if (updateInProgressOrTooSoon(fromZoom)) return; recalcInProg = true; lastUpdate = Date.now(); updateInProg = true; const ld = await getData(url); if (!ld) { updateInProg = false; return; } processMapData(liveMap, ld, fromZoom, clickHex);}function documentIsHidden() { return typeof document.hidden !== "undefined" && document.hidden;}function constructURL(bounds, zoom, clickHex) { const widthText = screenWidth > 1000 ? "large" : "small"; const hexIncl = clickHex ? `?incl=${clickHex}&` : "?"; return `/en/live/map/${Math.floor(bounds['_northEast'].lat * 1e5)}/${Math.floor(bounds['_southWest'].lat * 1e5)}/` + `${Math.floor(bounds['_southWest'].lng * 1e5)}/${Math.floor(bounds['_northEast'].lng * 1e5)}/${zoom}/${widthText}` + hexIncl + `${Math.floor(Date.now() / 5000)}`;}function updateInProgressOrTooSoon(fromZoom) { if (updateInProg) { return true; } const freq = fromZoom ? minZoomFreq : minRefreshFreq; return Date.now() - lastUpdate < freq;}function processMapData(liveMap, ld, fromZoom, clickHex) { newMarker = {}; arcs = []; curArc = []; arcCol = ""; prevCoord = []; document.getElementById("nr_flights_disp").innerText = ld["f"]; document.getElementById("nr_flights_tot").innerText = ld["t"]; const st = screenWidth / ld["f"] > 5; const redraw = st !== hadTitles; for (const entr in ld["m"]) { const e = ld["m"][entr]; handleMarker(liveMap, e, redraw, st); } hadTitles = st; removeUnusedMarkers(liveMap); updateInProg = false; recalcInProg = false; firstUpd = false; if (clickHex) { marker[clickHex].fire('click'); }}function handleMarker(liveMap, e, redraw, st) { if (e[4] == null || e[5] == null) { return; } const currentPos = L.latLng(e[4], e[5]); if (redraw && e[0] in marker) { liveMap.removeLayer(marker[e[0]]); delete marker[e[0]]; } if (e[0] in marker) { updateExistingMarker(e, currentPos); } else { createNewMarker(liveMap, e, currentPos, st); }}function updateExistingMarker(e, currentPos) { const m = marker[e[0]]; m.setLatLng(currentPos); lastPos[e[0]] = [e[4], e[5], e[2], e[6], Date.now(), e[7], e[8], e[9]]; newMarker[e[0]] = true; document.getElementById("mi-" + e[0]).style.transform = "rotate(" + e[2] + "deg)";}function createNewMarker(liveMap, e, currentPos, st) { var des = TypeDesignatorIcons[e[10]]; if (!des) { des = DefaultIcon; } const htmlc = (st ? "

" + e[9] + "

" : "") + "Eurowings Discover 4Y132 (OCN132) from Frankfurt to Windhoek (6)"; const m = L.marker(currentPos, { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: e[0], opacity: e[3] ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[e[0]] = m; markerType[e[0]] = des; newMarker[e[0]] = true; lastPos[e[0]] = [e[4], e[5], e[2], e[6], Date.now(), e[7], e[8], e[9]]; document.getElementById("mi-" + e[0]).style.transform = "rotate(" + e[2] + "deg)";}function removeUnusedMarkers(liveMap) { for (const m in marker) { if (!(m in newMarker) && m != activeHex) { liveMap.removeLayer(marker[m]); delete marker[m]; } }}function onPlaneClick(e) { if (sf != "") { return; } updateInProg = true; const liveMap = e.target._map; const hex = e.target.options.alt; if (hex == activeHex) { return; } updateTrack(liveMap, `/${lang}/live/track_hex/${hex}`, hex, e);}function onMoveend(e) { localStorage.setItem('livemapCenter', JSON.stringify(e.target.getCenter())); localStorage.setItem('livemapZoom', e.target.getZoom()); updateMap(e.sourceTarget, false); } function onZoomed(e) { updateMap(e.sourceTarget, true) }// Define a utility function for creating a markerfunction createMarker(latLng, iconClass, htmlContent, alt, opacity) { return L.marker(latLng, { icon: L.divIcon({ className: iconClass, html: htmlContent }), alt: alt, opacity: opacity, }).on('click', onPlaneClick);}function updateTrack(liveMap, url, hex, e) { let prevCoord = null; let prevCoordFull = null; getData(url).then(function (ld) { if (!ld) { return; } const hadNoHex = hex === ""; if (hex === "" && url.includes("hex")) { hex = ld[0]; } else if (hex === "") { hex = ld[1]; } if (activeMarker && hex !== activeHex) { // Reset old marker const lp = lastPos[activeHex]; const des = markerType[activeHex]; const htmlc = (hadTitles ? "

" + lp[7] + "

" : "") + "Eurowings Discover 4Y132 (OCN132) from Frankfurt to Windhoek (7)`; liveMap.removeLayer(marker[activeHex]); const m = L.marker(activeMarker.getLatLng(), { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: activeHex, opacity: lp[7] != '' ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[activeHex] = m; markerType[activeHex] = des; document.getElementById("mi-" + activeHex).style.transform = "rotate(" + lp[2] + "deg)"; activeMarker = m; } // Set new marker const target = e ? e.target : marker[hex]; if (hex !== activeHex && target) { const lp = lastPos[hex]; const des = markerType[hex]; const htmlc = (hadTitles ? "

" + lp[7] + "

" : "") + "Eurowings Discover 4Y132 (OCN132) from Frankfurt to Windhoek (8)`; const m = L.marker(target.getLatLng(), { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: hex, opacity: ld[3] ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[hex] = m; liveMap.removeLayer(target); activeMarker = m; if (!e) { document.getElementById("mi-" + hex).style.transform = "rotate(" + lp[2] + "deg)"; } } refreshsActive = true; recalcInProg = true; arcs = []; curArc = []; arcCol = ""; prevCoord = []; track = ld[23]; if (sf === "") { if (ld[0] !== "") { domElements.get("liveFlnr").href = `/${lang}/live/flight_details/${ld[10]}`; domElements.get("liveFlnr").innerText = ld[0]; } else { domElements.get("liveFlnr").innerText = ""; domElements.get("liveFlnr").href = ""; } if (ld[21]) { domElements.get("liveAirline").innerText = ld[21]; } else { domElements.get("liveAirline").innerText = ""; } domElements.get("liveHex").innerText = ld[1]; if (ld[2] !== "" && ld[2] !== ld[0]) { domElements.get("liveCallsign").innerText = ld[2]; } else { domElements.get("liveCallsign").innerText = ""; } if (ld[3] !== "") { domElements.get("liveReg").href = `/${lang}/planes/${ld[3]}`; domElements.get("liveRegBlock").style.display = "block"; domElements.get("liveReg").innerText = ld[3]; } else { domElements.get("liveReg").innerText = "NA"; domElements.get("liveRegBlock").style.display = "none"; domElements.get("liveReg").href = ""; } if (ld[4] !== "NA") { if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "block"; } domElements.get("liveDep").innerText = ld[5]; domElements.get("liveDepFlag").src = "/staticfiles/" + ld[6].toLowerCase() + ".svg"; domElements.get("liveDep").href = `/${lang}/airport/${ld[5]}/${ld[4]}`; domElements.get("liveDepTime").innerText = ld[11]; if (ld[19] && ld[19] !== "+0") { domElements.get("liveDepDelay").innerText = ld[19]; } else { domElements.get("liveDepDelay").innerText = ""; } } else { domElements.get("liveDep").innerText = "NA"; domElements.get("liveDepTime").innerText = ""; domElements.get("liveDepDelay").innerText = ""; if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "none"; } } if (ld[7] !== "NA") { if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "block"; } domElements.get("liveArr").innerText = ld[8]; domElements.get("liveArrFlag").src = "/staticfiles/" + ld[9].toLowerCase() + ".svg"; domElements.get("liveArr").href = `/${lang}/airport/${ld[8]}/${ld[7]}`; domElements.get("liveArrTime").innerText = ld[12]; if (ld[20] && ld[20] !== "+0") { domElements.get("liveArrDelay").innerText = ld[20]; } else { domElements.get("liveArrDelay").innerText = ""; } } else { domElements.get("liveArr").innerText = "NA"; domElements.get("liveArrTime").innerText = ""; domElements.get("liveArrDelay").innerText = ""; if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "none"; } } if (ld[10] !== null) { domElements.get("liveLink").href = `/${lang}/live/flight_details/${ld[10]}`; domElements.get("liveLink").style.display = "block"; } else { domElements.get("liveLink").style.display = "none"; } const lt = track[track.length - 1]; domElements.get("liveAlt").innerText = lt[3] + " ft"; domElements.get("liveSpeed").innerText = lt[5] + " kts"; domElements.get("liveTrack").innerText = lt[4] + "°"; if (ld[18] !== "") { domElements.get("planePic").src = ld[18]; domElements.get("planePic").style.display = "block"; } else { domElements.get("planePic").style.display = "none"; } if (ld[22]) { domElements.get("liveType").innerText = ld[22]; domElements.get("liveTypeBlock").style.display = "block"; } else { domElements.get("liveTypeBlock").style.display = "none"; domElements.get("liveType").innerText = "NA"; } } // update upper items if relevant const liveStatusInd = domElements.get("liveStatusInd"); const liveStatusText = domElements.get("liveStatusText"); if (liveStatusInd && true) { if (!domElements.has("liveTrackHB")) { domElements.set("liveAltHB", document.getElementById("liveAltHB")); domElements.set("liveSpeedHB", document.getElementById("liveSpeedHB")); domElements.set("liveTrackHB", document.getElementById("liveTrackHB")); domElements.set("liveDataHB", document.getElementById("liveDataHB")); } liveStatusInd.innerText = ld[17] ? "Live" : "Landed"; const lt = ld[23][ld[23].length - 1]; if (domElements.get("depTimeLiveHB")) { domElements.get("depTimeLiveHB").innerText = ld[11]; domElements.get("arrTimeLiveHB").innerText = ld[12]; domElements.get("depDelHB").innerText = ld[19]; domElements.get("arrDelHB").innerText = ld[20]; domElements.get("liveAltHB").innerText = lt[3]; domElements.get("liveSpeedHB").innerText = lt[5]; domElements.get("liveTrackHB").innerText = lt[4]; } if (!ld[17]) { domElements.get("liveDataHB").style.display = "none"; } } if (liveStatusText && ld[17]) { liveStatusText.innerText = ""; } if (ld[13] !== null && ld[14] !== null && track.length > 0 && Math.abs(ld[13] - track[0][1] / 1e5) > 1 && Math.abs(ld[14] - track[0][2] / 1e5) > 1) { arcs.push([[[ld[13], ld[14]], [track[0][1] / 1e5, track[0][2] / 1e5]], "lightgray", true]); } prevCoord = null; prevCoordFull = null; lp = null; for (const entr in track) { const p = track[entr]; if (p[1] === null || p[2] === null || p.length == 0) { continue; } let col = "green"; if (prevCoord && (Math.abs(prevCoord[0] - p[1] / 1e5) > 1 || Math.abs(prevCoord[1] - p[2] / 1e5) > 1)) { arcs.push([curArc, arcCol, false]); arcCol = ""; arcs.push([[[prevCoord[0], prevCoord[1]], L.latLng(p[1] / 1e5, p[2] / 1e5, p[3])], "lightgray", true]); curArc = [L.latLng(p[1] / 1e5, p[2] / 1e5, p[3])]; } else if (arcCol !== col) { if (curArc.length > 0) { arcs.push([curArc, arcCol, false]); } if (prevCoord) { curArc = [prevCoord]; } else { curArc = []; } arcCol = col; } prevCoordFull = [p[1] / 1e5, p[2] / 1e5, p[4], p[5], Date.now(), p[3], false, ld[0]]; prevCoord = L.latLng(p[1] / 1e5, p[2] / 1e5, p[3]); curArc.push(prevCoord); if (p[4] !== 0) { lastTrack = p[4]; } } if (curArc.length > 0) { arcs.push([curArc, arcCol]); } if (ld[15] !== null && ld[16] !== null && prevCoord && (Math.abs(prevCoord.lat - ld[15]) > 0.1 || Math.abs(prevCoord.lng - ld[16]) > 0.1)) { arcs.push([[prevCoord, [ld[15], ld[16]]], "lightgray", true]); activeDest = L.latLng(ld[15], ld[16]); } for (const idx in tracks) { tracks[idx].remove(); } tracks = []; for (const idx in arcs) { const a = arcs[idx]; if (a[2]) { if (a[0][0][1] > a[0][1][1]) { const temp = a[0][0]; a[0][0] = a[0][1]; a[0][1] = temp; } p = L.Polyline.Arc(a[0][0], a[0][1], { color: a[1], noClip: true, vertices: 100 }); estTrack = p; } else { p = L.hotline(a[0], { palette: { 0: 'lightgray', 0.1: 'green', 0.5: 'yellow', 0.7: 'orange', 1: 'red' }, min: 0, max: 36000, outlineWidth: 0, weight: 4, noClip: true }); liveTrack = p; } p.addTo(liveMap); tracks.push(p); } if (prevCoordFull) { lastPos[hex] = prevCoordFull; } if (prevCoord) { if (e) { const i = e.sourceTarget; i.setLatLng(prevCoord); activeMarker = i; if (lastTrack) { document.getElementById("mi-" + hex).style.transform = "rotate(" + lastTrack + "deg)"; } if (!refreshs && !viewSet) { liveMap.setView(prevCoord, 8); } } else { if (!activeMarker) { var des = TypeDesignatorIcons[ld[22]]; if (!des) { des = DefaultIcon; } activeMarker = L.marker(prevCoord, { icon: L.icon({ iconUrl: svgPathToURI(des.path,des.size,false,true), iconSize: liveMap._zoom > 7 ? sizes[0] : sizes[1] }), rotationAngle: prevCoordFull[2], rotationOrigin: "center center", opacity: 0.8, title: hex }).addTo(liveMap); } else { activeMarker.setLatLng(prevCoord); } } if (e || hadNoHex) { // Only set refresh on first click or for live flight tracks (no hex given then) if (trackRefresh) { window.clearInterval(trackRefresh); } if (ld[17]) { trackRefresh = window.setInterval(function () { if (refreshsActive) { updateTrack(liveMap, url, hex, null); } }, 3000); } } } if (!refreshs && !viewSet) { liveMap.setView(prevCoord, 8); } if (sf === "") { domElements.get("liveMapContainer").style.display = 'block'; if (document.getElementById("mapSearch")) { document.getElementById("mapSearch").style.display = 'none'; } } activeHex = hex; updateInProg = false; recalcInProg = false; });} function buildLiveMap(liveMap,activeHex) { const osmUrl = 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; const osmAttrib = '© OpenStreetMap'; const osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); liveMap.attributionControl.setPrefix(''); liveMap.addLayer(osm); updateMap(liveMap, false,activeHex); liveMap.on('zoomend', onZoomed); liveMap.on('moveend', onMoveend); } function buildTrackMap(liveMap, url) { const osmUrl = 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; const osmAttrib = '© OpenStreetMap'; const osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); liveMap.attributionControl.setPrefix(''); liveMap.addLayer(osm); updateTrack(liveMap, url, "", null); } loadScript("/js/leaflet.js?20220413" ,function() { // set up the map map = new L.map('map-flight',{sleep:false,minZoom:0, gestureHandling: false}); map.whenReady(() => map.gestureHandling?._handleMouseOver?.()); // create the tile layer with correct attribution map.fitBounds([[-22.48667,8.57056],[50.03333,17.4625]]); viewSet = true; dep=[50.03333,8.57056]; arr=[-22.48667,17.4625]; var osmUrl='https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; var osmAttrib='© OpenStreetMap'; var osm = new L.TileLayer(osmUrl, {attribution: osmAttrib}); map.attributionControl.setPrefix(''); map.addLayer(osm); if (dep[1]

PLANE

MODEL
D-AIKB Airbus A330-300

ICAO IDENTIFIER
3C6562

SEAT CONFIGURATION
283 seats
30 Business28 Eco+225 Economy

FIRST FLIGHT
Jan 2004
20 years ago
Plane Information

GENERAL ROUTE INFO

FREQUENCY:

daily
Sun, Mon, Tue, Wed, Thu, Fri, Sat

DIRECT DISTANCE
8,120km 5,046mi

ACTUAL DISTANCE
8,491km 5,277mi
+4%

FLIGHT TIME
10 hours 30 min

FLIGHTS / WEEK
10 Flights
PUNCTUALITY
2 Flights/week delayed
76% On-Time Performance
Delay Statistics

SEATS / WEEK
287 seats/Flight
12,359 seats/week
Route Info

CO2 EMISSIONS

Economy
1,272kg

Eco+
1,541kg

Business
2,592kg
Eurowings Discover 4Y132 (OCN132) from Frankfurt to Windhoek (2024)
Top Articles
Plato’s Butcher: Realism and Platonic Classification
What Is There to Be Ashamed Of? Nietzsche and Plato
Repentance (2 Corinthians 7:10) – West Palm Beach church of Christ
Terraria Enchanting
Comcast Xfinity Outage in Kipton, Ohio
Call Follower Osrs
Nordstrom Rack Glendale Photos
Ashlyn Peaks Bio
Truist Drive Through Hours
Best Restaurants Ventnor
Hillside Funeral Home Washington Nc Obituaries
Cbs Trade Value Chart Fantasy Football
Elizabethtown Mesothelioma Legal Question
Craigslist Edmond Oklahoma
Les Rainwater Auto Sales
Find Such That The Following Matrix Is Singular.
Fdny Business
Whitefish Bay Calendar
Lawson Uhs
Jeffers Funeral Home Obituaries Greeneville Tennessee
Rochester Ny Missed Connections
Coomeet Premium Mod Apk For Pc
Gotcha Rva 2022
Del Amo Fashion Center Map
Chime Ssi Payment 2023
Craigslist Lake Charles
European Wax Center Toms River Reviews
Divide Fusion Stretch Hoodie Daunenjacke für Herren | oliv
Tinyzonehd
Craigslist Efficiency For Rent Hialeah
30+ useful Dutch apps for new expats in the Netherlands
Donald Trump Assassination Gold Coin JD Vance USA Flag President FIGHT CIA FBI • $11.73
Why Are The French So Google Feud Answers
6465319333
Palmadise Rv Lot
Minecraft Jar Google Drive
Craigslist Albany Ny Garage Sales
Admissions - New York Conservatory for Dramatic Arts
Pensacola Cars Craigslist
The Closest Walmart From My Location
Paperless Employee/Kiewit Pay Statements
Convenient Care Palmer Ma
Daly City Building Division
10 Rarest and Most Valuable Milk Glass Pieces: Value Guide
Lima Crime Stoppers
All Obituaries | Sneath Strilchuk Funeral Services | Funeral Home Roblin Dauphin Ste Rose McCreary MB
manhattan cars & trucks - by owner - craigslist
Ehome America Coupon Code
News & Events | Pi Recordings
Diccionario De Los Sueños Misabueso
7 Sites to Identify the Owner of a Phone Number
Shad Base Elevator
Latest Posts
Article information

Author: Dong Thiel

Last Updated:

Views: 5377

Rating: 4.9 / 5 (59 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Dong Thiel

Birthday: 2001-07-14

Address: 2865 Kasha Unions, West Corrinne, AK 05708-1071

Phone: +3512198379449

Job: Design Planner

Hobby: Graffiti, Foreign language learning, Gambling, Metalworking, Rowing, Sculling, Sewing

Introduction: My name is Dong Thiel, I am a brainy, happy, tasty, lively, splendid, talented, cooperative person who loves writing and wants to share my knowledge and understanding with you.