Commit 9f7cd613 authored by Boris Kocherov's avatar Boris Kocherov

use system libicu

parent bf91f485

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -11,10 +11,8 @@ core_win_32 {
}
core_linux {
INCLUDEPATH += $$PWD/$$CORE_BUILDS_PLATFORM_PREFIX/usr/local/include
LIBS += $$PWD/$$CORE_BUILDS_PLATFORM_PREFIX/build/libicuuc.so.55
LIBS += $$PWD/$$CORE_BUILDS_PLATFORM_PREFIX/build/libicudata.so.55
LIBS += -licuuc
# LIBS += -licudata
}
core_mac {
......
ICU Version: 55.1
HOST: x86_64-unknown-linux-gnu
CC Compiler: gcc
CXX Compiler: g++
/*
*
* (C) Copyright IBM Corp. 1998-2011 - All Rights Reserved
*
*/
#ifndef __LEGLYPHFILTER__H
#define __LEGLYPHFILTER__H
#include "LETypes.h"
U_NAMESPACE_BEGIN
#ifndef U_HIDE_INTERNAL_API
/**
* This is a helper class that is used to
* recognize a set of glyph indices.
*
* @internal
*/
class LEGlyphFilter /* not : public UObject because this is an interface/mixin class */ {
public:
/**
* Destructor.
* @internal
*/
virtual ~LEGlyphFilter();
/**
* This method is used to test a particular
* glyph index to see if it is in the set
* recognized by the filter.
*
* @param glyph - the glyph index to be tested
*
* @return TRUE if the glyph index is in the set.
*
* @internal
*/
virtual le_bool accept(LEGlyphID glyph) const = 0;
};
#endif /* U_HIDE_INTERNAL_API */
U_NAMESPACE_END
#endif
/*
**********************************************************************
* Copyright (C) 1998-2014, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
*/
#ifndef __LEINSERTIONLIST_H
#define __LEINSERTIONLIST_H
#include "LETypes.h"
U_NAMESPACE_BEGIN
struct InsertionRecord;
#ifndef U_HIDE_INTERNAL_API
/**
* This class encapsulates the callback used by <code>LEInsertionList</code>
* to apply an insertion from the insertion list.
*
* @internal
*/
class U_LAYOUT_API LEInsertionCallback
{
public:
/**
* This method will be called by <code>LEInsertionList::applyInsertions</code> for each
* entry on the insertion list.
*
* @param atPosition the position of the insertion
* @param count the number of glyphs to insert
* @param newGlyphs the address of the glyphs to insert
*
* @return <code>TRUE</code> if <code>LEInsertions::applyInsertions</code> should
* stop after applying this insertion.
*
* @internal
*/
virtual le_bool applyInsertion(le_int32 atPosition, le_int32 count, LEGlyphID newGlyphs[]) = 0;
/**
* The destructor
*/
virtual ~LEInsertionCallback();
};
/**
* This class is used to keep track of insertions to an array of
* <code>LEGlyphIDs</code>. The insertions are kept on a linked
* list of <code>InsertionRecords</code> so that the glyph array
* doesn't have to be grown for each insertion. The insertions are
* stored on the list from leftmost to rightmost to make it easier
* to do the insertions.
*
* The insertions are applied to the array by calling the
* <code>applyInsertions</code> method, which calls a client
* supplied <code>LEInsertionCallback</code> object to actually
* apply the individual insertions.
*
* @internal
*/
class LEInsertionList : public UObject
{
public:
/**
* Construct an empty insertion list.
*
* @param rightToLeft <code>TRUE</code> if the glyphs are stored
* in the array in right to left order.
*
* @internal
*/
LEInsertionList(le_bool rightToLeft);
/**
* The destructor.
*/
~LEInsertionList();
/**
* Add an entry to the insertion list.
*
* @param position the glyph at this position in the array will be
* replaced by the new glyphs.
* @param count the number of new glyphs
* @param success set to an error code if the auxillary data cannot be retrieved.
*
* @return the address of an array in which to store the new glyphs. This will
* <em>not</em> be in the glyph array.
*
* @internal
*/
LEGlyphID *insert(le_int32 position, le_int32 count, LEErrorCode &success);
/**
* Return the number of new glyphs that have been inserted.
*
* @return the number of new glyphs which have been inserted
*
* @internal
*/
le_int32 getGrowAmount();
/**
* Call the <code>LEInsertionCallback</code> once for each
* entry on the insertion list.
*
* @param callback the <code>LEInsertionCallback</code> to call for each insertion.
*
* @return <code>TRUE</code> if <code>callback</code> returned <code>TRUE</code> to
* terminate the insertion list processing.
*
* @internal
*/
le_bool applyInsertions(LEInsertionCallback *callback);
/**
* Empty the insertion list and free all associated
* storage.
*
* @internal
*/
void reset();
/**
* ICU "poor man's RTTI", returns a UClassID for the actual class.
*
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
virtual UClassID getDynamicClassID() const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
*
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
static UClassID getStaticClassID();
private:
/**
* The head of the insertion list.
*
* @internal
*/
InsertionRecord *head;
/**
* The tail of the insertion list.
*
* @internal
*/
InsertionRecord *tail;
/**
* The total number of new glyphs on the insertion list.
*
* @internal
*/
le_int32 growAmount;
/**
* Set to <code>TRUE</code> if the glyphs are in right
* to left order. Since we want the rightmost insertion
* to be first on the list, we need to append the
* insertions in this case. Otherwise they're prepended.
*
* @internal
*/
le_bool append;
};
#endif /* U_HIDE_INTERNAL_API */
U_NAMESPACE_END
#endif
/*
*
* (C) Copyright IBM Corp. 1998-2014. All Rights Reserved.
*
* WARNING: THIS FILE IS MACHINE GENERATED. DO NOT HAND EDIT IT UNLESS
* YOU REALLY KNOW WHAT YOU'RE DOING.
*
* Generated on: 10/26/2010 02:53:33 PM PDT
*/
#ifndef __LELANGUAGES_H
#define __LELANGUAGES_H
#include "LETypes.h"
/**
* \file
* \brief C++ API: List of language codes for LayoutEngine
*/
U_NAMESPACE_BEGIN
/**
* A provisional list of language codes. For now,
* this is just a list of languages which the LayoutEngine
* supports.
*
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
enum LanguageCodes {
nullLanguageCode = 0,
araLanguageCode = 1,
asmLanguageCode = 2,
benLanguageCode = 3,
farLanguageCode = 4,
gujLanguageCode = 5,
hinLanguageCode = 6,
iwrLanguageCode = 7,
jiiLanguageCode = 8,
janLanguageCode = 9,
kanLanguageCode = 10,
kokLanguageCode = 11,
korLanguageCode = 12,
kshLanguageCode = 13,
malLanguageCode = 14,
marLanguageCode = 15,
mlrLanguageCode = 16,
mniLanguageCode = 17,
oriLanguageCode = 18,
sanLanguageCode = 19,
sndLanguageCode = 20,
snhLanguageCode = 21,
syrLanguageCode = 22,
tamLanguageCode = 23,
telLanguageCode = 24,
thaLanguageCode = 25,
urdLanguageCode = 26,
zhpLanguageCode = 27,
zhsLanguageCode = 28,
zhtLanguageCode = 29,
/** New language codes added 03/13/2008 @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
afkLanguageCode = 30,
belLanguageCode = 31,
bgrLanguageCode = 32,
catLanguageCode = 33,
cheLanguageCode = 34,
copLanguageCode = 35,
csyLanguageCode = 36,
danLanguageCode = 37,
deuLanguageCode = 38,
dznLanguageCode = 39,
ellLanguageCode = 40,
engLanguageCode = 41,
espLanguageCode = 42,
etiLanguageCode = 43,
euqLanguageCode = 44,
finLanguageCode = 45,
fraLanguageCode = 46,
gaeLanguageCode = 47,
hauLanguageCode = 48,
hrvLanguageCode = 49,
hunLanguageCode = 50,
hyeLanguageCode = 51,
indLanguageCode = 52,
itaLanguageCode = 53,
khmLanguageCode = 54,
mngLanguageCode = 55,
mtsLanguageCode = 56,
nepLanguageCode = 57,
nldLanguageCode = 58,
pasLanguageCode = 59,
plkLanguageCode = 60,
ptgLanguageCode = 61,
romLanguageCode = 62,
rusLanguageCode = 63,
skyLanguageCode = 64,
slvLanguageCode = 65,
sqiLanguageCode = 66,
srbLanguageCode = 67,
sveLanguageCode = 68,
tibLanguageCode = 69,
trkLanguageCode = 70,
welLanguageCode = 71,
languageCodeCount = 72
};
U_NAMESPACE_END
#endif
/*
*
* (C) Copyright IBM Corp. 1998-2014. All Rights Reserved.
*
* WARNING: THIS FILE IS MACHINE GENERATED. DO NOT HAND EDIT IT UNLESS
* YOU REALLY KNOW WHAT YOU'RE DOING.
*
* Generated on: 04/08/2014 03:20:04 PM PDT
*/
#ifndef __LESCRIPTS_H
#define __LESCRIPTS_H
#include "LETypes.h"
/**
* \file
* \brief C++ API: Constants for Unicode script values
*/
U_NAMESPACE_BEGIN
/**
* Constants for Unicode script values, generated using
* ICU4J's <code>UScript</code> class.
*
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
enum ScriptCodes {
zyyyScriptCode = 0,
zinhScriptCode = 1,
qaaiScriptCode = zinhScriptCode, /* manually added alias, for API stability */
arabScriptCode = 2,
armnScriptCode = 3,
bengScriptCode = 4,
bopoScriptCode = 5,
cherScriptCode = 6,
coptScriptCode = 7,
cyrlScriptCode = 8,
dsrtScriptCode = 9,
devaScriptCode = 10,
ethiScriptCode = 11,
georScriptCode = 12,
gothScriptCode = 13,
grekScriptCode = 14,
gujrScriptCode = 15,
guruScriptCode = 16,
haniScriptCode = 17,
hangScriptCode = 18,
hebrScriptCode = 19,
hiraScriptCode = 20,
kndaScriptCode = 21,
kanaScriptCode = 22,
khmrScriptCode = 23,
laooScriptCode = 24,
latnScriptCode = 25,
mlymScriptCode = 26,
mongScriptCode = 27,
mymrScriptCode = 28,
ogamScriptCode = 29,
italScriptCode = 30,
oryaScriptCode = 31,
runrScriptCode = 32,
sinhScriptCode = 33,
syrcScriptCode = 34,
tamlScriptCode = 35,
teluScriptCode = 36,
thaaScriptCode = 37,
thaiScriptCode = 38,
tibtScriptCode = 39,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
cansScriptCode = 40,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
yiiiScriptCode = 41,
tglgScriptCode = 42,
hanoScriptCode = 43,
buhdScriptCode = 44,
tagbScriptCode = 45,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
braiScriptCode = 46,
cprtScriptCode = 47,
limbScriptCode = 48,
linbScriptCode = 49,
osmaScriptCode = 50,
shawScriptCode = 51,
taleScriptCode = 52,
ugarScriptCode = 53,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
hrktScriptCode = 54,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
bugiScriptCode = 55,
glagScriptCode = 56,
kharScriptCode = 57,
syloScriptCode = 58,
taluScriptCode = 59,
tfngScriptCode = 60,
xpeoScriptCode = 61,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
baliScriptCode = 62,
batkScriptCode = 63,
blisScriptCode = 64,
brahScriptCode = 65,
chamScriptCode = 66,
cirtScriptCode = 67,
cyrsScriptCode = 68,
egydScriptCode = 69,
egyhScriptCode = 70,
egypScriptCode = 71,
geokScriptCode = 72,
hansScriptCode = 73,
hantScriptCode = 74,
hmngScriptCode = 75,
hungScriptCode = 76,
indsScriptCode = 77,
javaScriptCode = 78,
kaliScriptCode = 79,
latfScriptCode = 80,
latgScriptCode = 81,
lepcScriptCode = 82,
linaScriptCode = 83,
mandScriptCode = 84,
mayaScriptCode = 85,
meroScriptCode = 86,
nkooScriptCode = 87,
orkhScriptCode = 88,
permScriptCode = 89,
phagScriptCode = 90,
phnxScriptCode = 91,
plrdScriptCode = 92,
roroScriptCode = 93,
saraScriptCode = 94,
syreScriptCode = 95,
syrjScriptCode = 96,
syrnScriptCode = 97,
tengScriptCode = 98,
vaiiScriptCode = 99,
vispScriptCode = 100,
xsuxScriptCode = 101,
zxxxScriptCode = 102,
zzzzScriptCode = 103,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
cariScriptCode = 104,
jpanScriptCode = 105,
lanaScriptCode = 106,
lyciScriptCode = 107,
lydiScriptCode = 108,
olckScriptCode = 109,
rjngScriptCode = 110,
saurScriptCode = 111,
sgnwScriptCode = 112,
sundScriptCode = 113,
moonScriptCode = 114,
mteiScriptCode = 115,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
armiScriptCode = 116,
avstScriptCode = 117,
cakmScriptCode = 118,
koreScriptCode = 119,
kthiScriptCode = 120,
maniScriptCode = 121,
phliScriptCode = 122,
phlpScriptCode = 123,
phlvScriptCode = 124,
prtiScriptCode = 125,
samrScriptCode = 126,
tavtScriptCode = 127,
zmthScriptCode = 128,
zsymScriptCode = 129,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
bamuScriptCode = 130,
lisuScriptCode = 131,
nkgbScriptCode = 132,
sarbScriptCode = 133,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
bassScriptCode = 134,
duplScriptCode = 135,
elbaScriptCode = 136,
granScriptCode = 137,
kpelScriptCode = 138,
lomaScriptCode = 139,
mendScriptCode = 140,
mercScriptCode = 141,
narbScriptCode = 142,
nbatScriptCode = 143,
palmScriptCode = 144,
sindScriptCode = 145,
waraScriptCode = 146,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
afakScriptCode = 147,
jurcScriptCode = 148,
mrooScriptCode = 149,
nshuScriptCode = 150,
shrdScriptCode = 151,
soraScriptCode = 152,
takrScriptCode = 153,
tangScriptCode = 154,
woleScriptCode = 155,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
hluwScriptCode = 156,
khojScriptCode = 157,
tirhScriptCode = 158,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
aghbScriptCode = 159,
mahjScriptCode = 160,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
ahomScriptCode = 161,
hatrScriptCode = 162,
modiScriptCode = 163,
multScriptCode = 164,
paucScriptCode = 165,
siddScriptCode = 166,
/**
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
scriptCodeCount
};
U_NAMESPACE_END
#endif
/*
*
* (C) Copyright IBM Corp. 1998-2014 - All Rights Reserved
*
*/
#ifndef __LESWAPS_H
#define __LESWAPS_H
#include "LETypes.h"
/**
* \file
* \brief C++ API: Endian independent access to data for LayoutEngine
*/
U_NAMESPACE_BEGIN
/**
* A convenience macro which invokes the swapWord member function
* from a concise call.
*
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
#define SWAPW(value) LESwaps::swapWord((le_uint16)(value))
/**
* A convenience macro which invokes the swapLong member function
* from a concise call.
*
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
#define SWAPL(value) LESwaps::swapLong((le_uint32)(value))
/**
* This class is used to access data which stored in big endian order
* regardless of the conventions of the platform.
*
* All methods are static and inline in an attempt to induce the compiler
* to do most of the calculations at compile time.
*
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
class U_LAYOUT_API LESwaps /* not : public UObject because all methods are static */ {
public:
/**
* Reads a big-endian 16-bit word and returns a native-endian value.
* No-op on a big-endian platform, byte-swaps on a little-endian platform.
*
* @param value - the word to be byte swapped
*
* @return the byte swapped word
*
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
static le_uint16 swapWord(le_uint16 value)
{
#if (defined(U_IS_BIG_ENDIAN) && U_IS_BIG_ENDIAN) || \
(defined(BYTE_ORDER) && defined(BIG_ENDIAN) && (BYTE_ORDER == BIG_ENDIAN)) || \
defined(__BIG_ENDIAN__)
// Fastpath when we know that the platform is big-endian.
return value;
#else
// Reads a big-endian value on any platform.
const le_uint8 *p = reinterpret_cast<const le_uint8 *>(&value);
return (le_uint16)((p[0] << 8) | p[1]);
#endif
};
/**
* Reads a big-endian 32-bit word and returns a native-endian value.
* No-op on a big-endian platform, byte-swaps on a little-endian platform.
*
* @param value - the long to be byte swapped
*
* @return the byte swapped long
*
* @deprecated ICU 54. See {@link icu::LayoutEngine}
*/
static le_uint32 swapLong(le_uint32 value)
{
#if (defined(U_IS_BIG_ENDIAN) && U_IS_BIG_ENDIAN) || \
(defined(BYTE_ORDER) && defined(BIG_ENDIAN) && (BYTE_ORDER == BIG_ENDIAN)) || \
defined(__BIG_ENDIAN__)
// Fastpath when we know that the platform is big-endian.
return value;
#else
// Reads a big-endian value on any platform.
const le_uint8 *p = reinterpret_cast<const le_uint8 *>(&value);
return (le_uint32)((p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
#endif
};
private:
LESwaps() {} // private - forbid instantiation
};
U_NAMESPACE_END
#endif
/*
**********************************************************************
* Copyright (c) 2004-2014, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
* Author: Alan Liu
* Created: April 26, 2004
* Since: ICU 3.0
**********************************************************************
*/
#ifndef __CURRENCYUNIT_H__
#define __CURRENCYUNIT_H__
#include "unicode/utypes.h"
#if !UCONFIG_NO_FORMATTING
#include "unicode/measunit.h"
/**
* \file
* \brief C++ API: Currency Unit Information.
*/
U_NAMESPACE_BEGIN
/**
* A unit of currency, such as USD (U.S. dollars) or JPY (Japanese
* yen). This class is a thin wrapper over a UChar string that
* subclasses MeasureUnit, for use with Measure and MeasureFormat.
*
* @author Alan Liu
* @stable ICU 3.0
*/
class U_I18N_API CurrencyUnit: public MeasureUnit {
public:
/**
* Construct an object with the given ISO currency code.
* @param isoCode the 3-letter ISO 4217 currency code; must not be
* NULL and must have length 3
* @param ec input-output error code. If the isoCode is invalid,
* then this will be set to a failing value.
* @stable ICU 3.0
*/
CurrencyUnit(const UChar* isoCode, UErrorCode &ec);
/**
* Copy constructor
* @stable ICU 3.0
*/
CurrencyUnit(const CurrencyUnit& other);
/**
* Assignment operator
* @stable ICU 3.0
*/
CurrencyUnit& operator=(const CurrencyUnit& other);
/**
* Return a polymorphic clone of this object. The result will
* have the same class as returned by getDynamicClassID().
* @stable ICU 3.0
*/
virtual UObject* clone() const;
/**
* Destructor
* @stable ICU 3.0
*/
virtual ~CurrencyUnit();
/**
* Returns a unique class ID for this object POLYMORPHICALLY.
* This method implements a simple form of RTTI used by ICU.
* @return The class ID for this object. All objects of a given
* class have the same class ID. Objects of other classes have
* different class IDs.
* @stable ICU 3.0
*/
virtual UClassID getDynamicClassID() const;
/**
* Returns the class ID for this class. This is used to compare to
* the return value of getDynamicClassID().
* @return The class ID for all objects of this class.
* @stable ICU 3.0
*/
static UClassID U_EXPORT2 getStaticClassID();
/**
* Return the ISO currency code of this object.
* @stable ICU 3.0
*/
inline const UChar* getISOCurrency() const;
private:
/**
* The ISO 4217 code of this object.
*/
UChar isoCode[4];
};
inline const UChar* CurrencyUnit::getISOCurrency() const {
return isoCode;
}
U_NAMESPACE_END
#endif // !UCONFIG_NO_FORMATTING
#endif // __CURRENCYUNIT_H__
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment