From fc7da47418c219d7c205bd916b0d3ffd3aa848a6 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 2 Jan 2012 16:13:46 -0800 Subject: [PATCH] move a file back --- .../AltosLib => }/AltosFontListener.java | 2 +- .../AltosLib/AltosCRCException.java | 2 +- .../altusmetrum/AltosLib/AltosConvert.java | 2 +- .../altusmetrum/AltosLib/AltosFrequency.java | 2 +- .../org/altusmetrum/AltosLib/AltosGPS.java | 2 +- .../org/altusmetrum/AltosLib/AltosGPSSat.java | 2 +- .../org/altusmetrum/AltosLib/AltosLine.java | 2 +- .../org/altusmetrum/AltosLib/AltosParse.java | 6 ++-- .../org/altusmetrum/AltosLib/AltosRecord.java | 6 ++-- .../AltosLib/AltosRecordCompanion.java | 2 +- .../AltosLib/AltosRecordIterable.java | 2 +- .../altusmetrum/AltosLib/AltosTelemetry.java | 2 +- .../AltosLib/AltosTelemetryIterable.java | 4 +-- .../AltosLib/AltosTelemetryMap.java | 2 +- .../AltosLib/AltosTelemetryReader.java | 2 +- .../AltosLib/AltosTelemetryRecord.java | 2 +- .../AltosTelemetryRecordCompanion.java | 2 +- .../AltosTelemetryRecordConfiguration.java | 2 +- .../AltosLib/AltosTelemetryRecordGeneral.java | 2 +- .../AltosLib/AltosTelemetryRecordLegacy.java | 20 ++++++------- .../AltosTelemetryRecordLocation.java | 2 +- .../AltosLib/AltosTelemetryRecordRaw.java | 28 +++++++++---------- .../AltosTelemetryRecordSatellite.java | 2 +- .../AltosLib/AltosTelemetryRecordSensor.java | 2 +- 24 files changed, 51 insertions(+), 51 deletions(-) rename altosui/{altoslib/src/org/altusmetrum/AltosLib => }/AltosFontListener.java (95%) diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFontListener.java b/altosui/AltosFontListener.java similarity index 95% rename from altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFontListener.java rename to altosui/AltosFontListener.java index 0dda0f29..6fc214bc 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFontListener.java +++ b/altosui/AltosFontListener.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; public interface AltosFontListener { void font_size_changed(int font_size); diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosCRCException.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosCRCException.java index 4a529bcf..101c5363 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosCRCException.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosCRCException.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; public class AltosCRCException extends Exception { public int rssi; diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosConvert.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosConvert.java index db7039ec..d79dcfd3 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosConvert.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosConvert.java @@ -18,7 +18,7 @@ /* * Sensor data conversion functions */ -package altosui; +package org.altusmetrum.AltosLib; public class AltosConvert { /* diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFrequency.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFrequency.java index 0617ce74..6ba6304b 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFrequency.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosFrequency.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; import java.awt.*; import java.awt.event.*; diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosGPS.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosGPS.java index b5df7c9a..8cc7aa69 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosGPS.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosGPS.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; import java.lang.*; import java.text.*; diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosGPSSat.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosGPSSat.java index fb125651..5fa8f987 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosGPSSat.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosGPSSat.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; public class AltosGPSSat { int svid; diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLine.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLine.java index 86e9d4c6..5627795a 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLine.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLine.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; public class AltosLine { public String line; diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosParse.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosParse.java index fbfcaaee..4c0a59cb 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosParse.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosParse.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; import java.text.*; import java.lang.*; @@ -27,7 +27,7 @@ public class AltosParse { static int parse_int(String v) throws ParseException { try { - return Altos.fromdec(v); + return AltosLib.fromdec(v); } catch (NumberFormatException e) { throw new ParseException("error parsing int " + v, 0); } @@ -35,7 +35,7 @@ public class AltosParse { static int parse_hex(String v) throws ParseException { try { - return Altos.fromhex(v); + return AltosLib.fromhex(v); } catch (NumberFormatException e) { throw new ParseException("error parsing hex " + v, 0); } diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecord.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecord.java index 4dfa98be..06fe42b1 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecord.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecord.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; import java.lang.*; import java.text.*; @@ -226,7 +226,7 @@ public class AltosRecord implements Comparable { } public String state() { - return Altos.state_name(state); + return AltosLib.state_name(state); } public static String gets(FileInputStream s) throws IOException { @@ -287,7 +287,7 @@ public class AltosRecord implements Comparable { flight = 0; rssi = 0; status = 0; - state = Altos.ao_flight_startup; + state = AltosLib.ao_flight_startup; tick = 0; accel = MISSING; pres = MISSING; diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecordCompanion.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecordCompanion.java index 0a8f9f4b..4f8e80dc 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecordCompanion.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecordCompanion.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; public class AltosRecordCompanion { final static int board_id_telescience = 0x0a; diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecordIterable.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecordIterable.java index 45843b92..abe67aaa 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecordIterable.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosRecordIterable.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; import java.awt.*; import java.awt.event.*; diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetry.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetry.java index a05269f4..beac072e 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetry.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetry.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; import java.lang.*; import java.text.*; diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryIterable.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryIterable.java index 278cbfb7..73026bf7 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryIterable.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryIterable.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; import java.io.*; import java.util.*; @@ -62,7 +62,7 @@ public class AltosTelemetryIterable extends AltosRecordIterable { current_tick = tick; record.tick = current_tick; } - if (!saw_boost && record.state >= Altos.ao_flight_boost) + if (!saw_boost && record.state >= AltosLib.ao_flight_boost) { saw_boost = true; boost_tick = record.tick; diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryMap.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryMap.java index d906100f..003cb6a9 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryMap.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryMap.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; import java.lang.*; import java.text.*; import java.util.HashMap; diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryReader.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryReader.java index 2c49b707..e0b0dfd6 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryReader.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryReader.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; import java.lang.*; import java.text.*; diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecord.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecord.java index cfac309a..017d5be9 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecord.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecord.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; public interface AltosTelemetryRecord { diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordCompanion.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordCompanion.java index 52d7f4cf..6ad17244 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordCompanion.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordCompanion.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; public class AltosTelemetryRecordCompanion extends AltosTelemetryRecordRaw { diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordConfiguration.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordConfiguration.java index b029d120..25242edc 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordConfiguration.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordConfiguration.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; public class AltosTelemetryRecordConfiguration extends AltosTelemetryRecordRaw { diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordGeneral.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordGeneral.java index 722baba3..5e157a54 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordGeneral.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordGeneral.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; import java.lang.*; import java.text.*; diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordLegacy.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordLegacy.java index f2f63358..2dac5ca4 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordLegacy.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordLegacy.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; import java.lang.*; import java.text.*; @@ -239,7 +239,7 @@ public class AltosTelemetryRecordLegacy extends AltosRecord implements AltosTele serial = map.get_int(AO_TELEM_SERIAL, MISSING); flight = map.get_int(AO_TELEM_FLIGHT, MISSING); rssi = map.get_int(AO_TELEM_RSSI, MISSING); - state = Altos.state(map.get_string(AO_TELEM_STATE, "invalid")); + state = AltosLib.state(map.get_string(AO_TELEM_STATE, "invalid")); tick = map.get_int(AO_TELEM_TICK, 0); /* raw sensor values */ @@ -298,7 +298,7 @@ public class AltosTelemetryRecordLegacy extends AltosRecord implements AltosTele status = AltosParse.parse_hex(words[i++]); AltosParse.word(words[i++], "STATE"); - state = Altos.state(words[i++]); + state = AltosLib.state(words[i++]); tick = AltosParse.parse_int(words[i++]); @@ -391,22 +391,22 @@ public class AltosTelemetryRecordLegacy extends AltosRecord implements AltosTele int adjust; private int int8(int i) { - return Altos.int8(bytes, i + 1 + adjust); + return AltosLib.int8(bytes, i + 1 + adjust); } private int uint8(int i) { - return Altos.uint8(bytes, i + 1 + adjust); + return AltosLib.uint8(bytes, i + 1 + adjust); } private int int16(int i) { - return Altos.int16(bytes, i + 1 + adjust); + return AltosLib.int16(bytes, i + 1 + adjust); } private int uint16(int i) { - return Altos.uint16(bytes, i + 1 + adjust); + return AltosLib.uint16(bytes, i + 1 + adjust); } private int uint32(int i) { - return Altos.uint32(bytes, i + 1 + adjust); + return AltosLib.uint32(bytes, i + 1 + adjust); } private String string(int i, int l) { - return Altos.string(bytes, i + 1 + adjust, l); + return AltosLib.string(bytes, i + 1 + adjust, l); } static final int AO_GPS_NUM_SAT_MASK = (0xf << 0); @@ -422,7 +422,7 @@ public class AltosTelemetryRecordLegacy extends AltosRecord implements AltosTele version = 4; adjust = 0; - if (bytes.length == Altos.ao_telemetry_0_8_len + 4) { + if (bytes.length == AltosLib.ao_telemetry_0_8_len + 4) { serial = uint8(0); adjust = -1; } else diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordLocation.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordLocation.java index 80db454d..cddb773d 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordLocation.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordLocation.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; public class AltosTelemetryRecordLocation extends AltosTelemetryRecordRaw { diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordRaw.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordRaw.java index fb2b495c..4c0c4972 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordRaw.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordRaw.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; import java.lang.*; import java.text.*; @@ -52,7 +52,7 @@ public class AltosTelemetryRecordRaw implements AltosTelemetryRecord { int[] bytes; try { - bytes = Altos.hexbytes(hex); + bytes = AltosLib.hexbytes(hex); } catch (NumberFormatException ne) { throw new ParseException(ne.getMessage(), 0); } @@ -65,16 +65,16 @@ public class AltosTelemetryRecordRaw implements AltosTelemetryRecord { if (!cksum(bytes)) throw new ParseException(String.format("invalid line \"%s\"", hex), 0); - int rssi = Altos.int8(bytes, bytes.length - 3) / 2 - 74; - int status = Altos.uint8(bytes, bytes.length - 2); + int rssi = AltosLib.int8(bytes, bytes.length - 3) / 2 - 74; + int status = AltosLib.uint8(bytes, bytes.length - 2); if ((status & PKT_APPEND_STATUS_1_CRC_OK) == 0) throw new AltosCRCException(rssi); /* length, data ..., rssi, status, checksum -- 4 bytes extra */ switch (bytes.length) { - case Altos.ao_telemetry_standard_len + 4: - int type = Altos.uint8(bytes, 4 + 1); + case AltosLib.ao_telemetry_standard_len + 4: + int type = AltosLib.uint8(bytes, 4 + 1); switch (type) { case packet_type_TM_sensor: case packet_type_Tm_sensor: @@ -98,10 +98,10 @@ public class AltosTelemetryRecordRaw implements AltosTelemetryRecord { break; } break; - case Altos.ao_telemetry_0_9_len + 4: + case AltosLib.ao_telemetry_0_9_len + 4: r = new AltosTelemetryRecordLegacy(bytes, rssi, status); break; - case Altos.ao_telemetry_0_8_len + 4: + case AltosLib.ao_telemetry_0_8_len + 4: r = new AltosTelemetryRecordLegacy(bytes, rssi, status); break; default: @@ -111,27 +111,27 @@ public class AltosTelemetryRecordRaw implements AltosTelemetryRecord { } public int int8(int off) { - return Altos.int8(bytes, off + 1); + return AltosLib.int8(bytes, off + 1); } public int uint8(int off) { - return Altos.uint8(bytes, off + 1); + return AltosLib.uint8(bytes, off + 1); } public int int16(int off) { - return Altos.int16(bytes, off + 1); + return AltosLib.int16(bytes, off + 1); } public int uint16(int off) { - return Altos.uint16(bytes, off + 1); + return AltosLib.uint16(bytes, off + 1); } public int uint32(int off) { - return Altos.uint32(bytes, off + 1); + return AltosLib.uint32(bytes, off + 1); } public String string(int off, int l) { - return Altos.string(bytes, off + 1, l); + return AltosLib.string(bytes, off + 1, l); } public AltosTelemetryRecordRaw(int[] in_bytes) { diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordSatellite.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordSatellite.java index 2dd782ad..2526afb6 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordSatellite.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordSatellite.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; public class AltosTelemetryRecordSatellite extends AltosTelemetryRecordRaw { int channels; diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordSensor.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordSensor.java index 96fee81f..cfaf90b0 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordSensor.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosTelemetryRecordSensor.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.AltosLib; public class AltosTelemetryRecordSensor extends AltosTelemetryRecordRaw { -- 2.47.2