.. |
alpha
|
515774b864
* merged armthum branch
|
16 éve |
arm
|
780e75bfac
o patch by Jeppe Johansen to fix mantis #17472:
|
14 éve |
avr
|
07bf44517c
* Merged XPCom branch into trunk, added support for constref and changed
|
15 éve |
html
|
fa0d3d79e0
no message
|
23 éve |
i386
|
d10f46ec59
* skip instructions containing a reference with a segment prefix (fixes
|
14 éve |
ia64
|
5acf377e31
* enable node cse for all cpus as level 2 optimization
|
15 éve |
m68k
|
b317139006
compiler: fix compilation problems caused by tprocdef._class -> tprocdef.struct rename which was found by make fullcycle
|
14 éve |
mips
|
b317139006
compiler: fix compilation problems caused by tprocdef._class -> tprocdef.struct rename which was found by make fullcycle
|
14 éve |
msg
|
3ca3276400
* changed syntax of external objcclasses (see wiki/FPC_PasCocoa). Another
|
14 éve |
powerpc
|
5175a5ee07
* handle LOC_SUBSETREG,LOC_CSUBSETREG,LOC_SUBSETREF,LOC_CSUBSETREF in
|
14 éve |
powerpc64
|
5175a5ee07
* handle LOC_SUBSETREG,LOC_CSUBSETREG,LOC_SUBSETREF,LOC_CSUBSETREF in
|
14 éve |
ppcgen
|
b317139006
compiler: fix compilation problems caused by tprocdef._class -> tprocdef.struct rename which was found by make fullcycle
|
14 éve |
sparc
|
b317139006
compiler: fix compilation problems caused by tprocdef._class -> tprocdef.struct rename which was found by make fullcycle
|
14 éve |
systems
|
1f61b5b30c
* reverted the rtl patches from r14184, because they cause an endless
|
14 éve |
utils
|
dd921ffc9d
utils: fix ppudump:
|
14 éve |
vis
|
b6e4896805
* small typo corrections by Adriaan Van Os (mantis #15652)
|
15 éve |
x86
|
34ffb184a8
* MASM and NASM assembler writers, added check for InlineLevel>0 so it suppresses entire source file processing, not just output of source lines. Without this, auto-generated instructions cause output of bogus line information. GAS writer already has similar check.
|
14 éve |
x86_64
|
067536f8da
* pass large "const" record parameters by reference for non-cdecl/cppdecl
|
14 éve |
COPYING.txt
|
4bf254bc32
* added .txt extensions to all README, TODO and COPYING files
|
16 éve |
MPWMake
|
05d6f0e94d
macos: added a fake sysutils for use by compiler, and fixed some tests
|
19 éve |
Makefile
|
8b0301409a
+ i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and
|
15 éve |
Makefile.fpc
|
b127fc154a
* Fixed spell error revealed by lintian.
|
15 éve |
README.txt
|
4bf254bc32
* added .txt extensions to all README, TODO and COPYING files
|
16 éve |
aasmbase.pas
|
b127fc154a
* Fixed spell error revealed by lintian.
|
15 éve |
aasmdata.pas
|
d1ed076618
* changed r16080 so that global debug labels are only created on linux
|
15 éve |
aasmsym.pas
|
a23fa2e81e
* moved (unfinished) routines related to writing taicpu's to ppu files
|
18 éve |
aasmtai.pas
|
769eb3f604
* moved the initialisation of the nodetree and tai class reference constants
|
15 éve |
aggas.pas
|
b127fc154a
* Fixed spell error revealed by lintian.
|
15 éve |
aopt.pas
|
666b4e2469
* fixed range errors in label bookkeeping that caused too much memory to be
|
15 éve |
aoptbase.pas
|
f97730f73f
* use labelCanBeSkipped as used by i386 in generic optimizer code too
|
16 éve |
aoptcs.pas
|
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
|
19 éve |
aoptda.pas
|
1f6ec379de
* moved field definitions before method/property definitions (see mantis
|
16 éve |
aoptobj.pas
|
666b4e2469
* fixed range errors in label bookkeeping that caused too much memory to be
|
15 éve |
asmutils.pas
|
b5e7b3e1e7
o patch by Sergei Gorelkin which basically resolves #14308 (still misses some tests):
|
15 éve |
assemble.pas
|
b127fc154a
* Fixed spell error revealed by lintian.
|
15 éve |
browcol.pas
|
07bf44517c
* Merged XPCom branch into trunk, added support for constref and changed
|
15 éve |
bsdcompile
|
26081ed999
* Simple script which specifies the right params for a try out BSD build
|
25 éve |
catch.pas
|
fd070544db
- disabled installation of SIGINT signal handler for Darwin, because
|
16 éve |
ccharset.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 éve |
cclasses.pas
|
c072eb5a34
* fixed growing a tbitset when adding an element whose index equals the
|
15 éve |
cfidwarf.pas
|
23ff1e0681
* fix error in cfidwarf rev 16062 for non-windows systems
|
15 éve |
cfileutl.pas
|
5fc94a5076
* don't look for helper executables (assembler, linker, resource compiler,
|
14 éve |
cg64f32.pas
|
9bc15a5f61
* renamed a_param_* to a_load_*_cgpara
|
15 éve |
cgbase.pas
|
f302fcdc98
+ TSubRegisterSet definition forgotten to commit in r15952
|
15 éve |
cgobj.pas
|
5dae691c96
* implementation of bit scan intrinsics by Richard Vida, resolves #17592
|
15 éve |
cgutils.pas
|
f13f6627c4
* moved use_fixed_stack from cgutils to a method in paramgr so it can
|
15 éve |
cmsgs.pas
|
1ef53ca590
compiler: remove unused variables (reduce hints)
|
15 éve |
comphook.pas
|
a8381c8b32
fpc: compiler:
|
15 éve |
compiler.pas
|
34227e811d
+ patch by Sven Barth to add native NT rtl support to the compiler, resolves #14886
|
15 éve |
compinnr.inc
|
5dae691c96
* implementation of bit scan intrinsics by Richard Vida, resolves #17592
|
15 éve |
comprsrc.pas
|
3cd29858ba
compiler, utils: pass tlb resources to fpcres
|
15 éve |
constexp.pas
|
04606982ac
* fixed evaluation of "mod" operator for tconstexprint with signed operands
|
15 éve |
cp1251.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 éve |
cp437.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 éve |
cp850.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 éve |
cp866.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 éve |
cp8859_1.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 éve |
cp8859_5.pas
|
b178b08ba7
Merged revisions 11665-11738 via svnmerge from
|
17 éve |
crefs.pas
|
851b00f8e9
* more properties fixed
|
16 éve |
cresstr.pas
|
b5e7b3e1e7
o patch by Sergei Gorelkin which basically resolves #14308 (still misses some tests):
|
15 éve |
cstreams.pas
|
71193c0f2c
* fixed bootstrapping with 2.0.4
|
18 éve |
cutils.pas
|
a149674a75
Merged revisions 13458-13596 via svnmerge from
|
16 éve |
dbgbase.pas
|
915c412ae3
compiler: generate debug info for record methods:
|
14 éve |
dbgdwarf.pas
|
4bd0f6db7a
* Dwarf: Hide the implicit pointer from a function-parameter which is passed
|
14 éve |
dbgstabs.pas
|
915c412ae3
compiler: generate debug info for record methods:
|
14 éve |
defcmp.pas
|
2222f2c44b
* renamed is_class_or_interface_or_dispinterface_or_objc() into
|
14 éve |
defutil.pas
|
2222f2c44b
* renamed is_class_or_interface_or_dispinterface_or_objc() into
|
14 éve |
export.pas
|
6f3bace0f3
+ support for exporting Objective-C classes from dynamic libraries. It works
|
16 éve |
expunix.pas
|
617e1b9b10
* handle i386/x86_64 solaris pic as for linux
|
15 éve |
finput.pas
|
8dbc728926
* changed InputFileBufSize from 32kb to 32kb+1byte, because the last
|
16 éve |
fmodule.pas
|
dc5f5c3f63
compiler: use current_structdef instead of current_objectdef in more places
|
14 éve |
fpccrc.pas
|
793fd8fc09
* Add -Xg to help pages
|
17 éve |
fpcdefs.inc
|
28ac4a8dda
* several mips/mipsel related stuff fixed
|
15 éve |
fppu.pas
|
de51c4734c
* fixed searching for the 8-character variant of already compiled
|
15 éve |
gendef.pas
|
caf0096877
* enabled version and description directive for all windows
|
16 éve |
globals.pas
|
327b570ea4
compiler: rename extended records to advanced records
|
14 éve |
globtype.pas
|
327b570ea4
compiler: rename extended records to advanced records
|
14 éve |
htypechk.pas
|
2222f2c44b
* renamed is_class_or_interface_or_dispinterface_or_objc() into
|
14 éve |
impdef.pas
|
f1067607b6
+ workaround for non-working dircache on morphos/amiga
|
18 éve |
import.pas
|
bf1c390027
* refactor import library generation
|
19 éve |
link.pas
|
1f6ec379de
* moved field definitions before method/property definitions (see mantis
|
16 éve |
macho.pas
|
814658847e
* fixed comments for some comments, they were offset by one line (patch by
|
14 éve |
machoutils.pas
|
28cd8271c9
* initial version of internal Mach-O/i386 assembler by Dmitry Boyarintsev
|
15 éve |
msgidx.inc
|
3ca3276400
* changed syntax of external objcclasses (see wiki/FPC_PasCocoa). Another
|
14 éve |
msgtxt.inc
|
3ca3276400
* changed syntax of external objcclasses (see wiki/FPC_PasCocoa). Another
|
14 éve |
nadd.pas
|
906ca89f4e
compiler:
|
14 éve |
nbas.pas
|
769eb3f604
* moved the initialisation of the nodetree and tai class reference constants
|
15 éve |
ncal.pas
|
b7f1ea0a93
compiler: remove unneeded check that def is objectdef when we have another check that object has vmt. records don't have vmt so we can leave only one check there
|
14 éve |
ncgadd.pas
|
e8871f0885
* fixed and simplified tcgaddnode.second_addsmallset: don't modify
|
14 éve |
ncgbas.pas
|
b127fc154a
* Fixed spell error revealed by lintian.
|
15 éve |
ncgcal.pas
|
56bf42de57
compiler: implement record methods and class methods:
|
14 éve |
ncgcnv.pas
|
97f9157a7a
* convert LOC_FLAGS/LOC_JUMP to cbool value in bool_to_bool conversion,
|
15 éve |
ncgcon.pas
|
025ec34e4d
+ "CExtended" type that is the same as "extended", but conforming to the
|
15 éve |
ncgflw.pas
|
65ab1e820b
* Safecall on linux/i386 now behaves like cdecl plus hidden exception support.
|
15 éve |
ncginl.pas
|
5dae691c96
* implementation of bit scan intrinsics by Richard Vida, resolves #17592
|
15 éve |
ncgld.pas
|
56bf42de57
compiler: implement record methods and class methods:
|
14 éve |
ncgmat.pas
|
b127fc154a
* Fixed spell error revealed by lintian.
|
15 éve |
ncgmem.pas
|
2222f2c44b
* renamed is_class_or_interface_or_dispinterface_or_objc() into
|
14 éve |
ncgobjc.pas
|
b084d70ae4
compiler: cleanup - remove unused variables
|
15 éve |
ncgopt.pas
|
7d459cf12a
* the compiler now explicitly keeps track of the minimally guaranteed
|
16 éve |
ncgrtti.pas
|
89dc742de2
compiler: mark operator overloads as operators in rtti (although classes don't have operator overloads now)
|
14 éve |
ncgset.pas
|
749e791768
* fixed in-code for big endian systems and smallsets < 4 bytes
|
16 éve |
ncgutil.pas
|
3307d98c40
- Revert micro-exe mode for now.
|
15 éve |
ncnv.pas
|
331a72c8d6
* ncnv.pas, insert_varargstypeconv(): Do not cast a string literal to AnsiString if it has been already casted to Wide/UnicodeString, resolves #18266.
|
14 éve |
ncon.pas
|
ba700ad2ff
* Improvements to Dispatch call handling:
|
15 éve |
nflw.pas
|
56bf42de57
compiler: implement record methods and class methods:
|
14 éve |
ninl.pas
|
4531e1231b
compiler: implement Inc, Dec class operators
|
14 éve |
nld.pas
|
56bf42de57
compiler: implement record methods and class methods:
|
14 éve |
nmat.pas
|
a8da9e4bd1
compiler: set result value to dummy function to prevent compiler to generate a hint
|
14 éve |
nmem.pas
|
2222f2c44b
* renamed is_class_or_interface_or_dispinterface_or_objc() into
|
14 éve |
nobj.pas
|
dc5f5c3f63
compiler: use current_structdef instead of current_objectdef in more places
|
14 éve |
nobjc.pas
|
0dcedf3799
* do not crash but give a fatal error when using Objective-Pascal code
|
15 éve |
node.pas
|
ee6fe6c4f5
compiler: add unary plus node, search for unary plus operator if a type cannot be handled by compiler, increase ppu version because of node types change
|
14 éve |
nopt.pas
|
6b8aed593f
* remove registers{int/mmx/fpu} from firstpass
|
18 éve |
nset.pas
|
4531e1231b
compiler: implement Inc, Dec class operators
|
14 éve |
nstate.pas
|
790a4fe2d3
* log and id tags removed
|
20 éve |
nutils.pas
|
2222f2c44b
* renamed is_class_or_interface_or_dispinterface_or_objc() into
|
14 éve |
objcdef.pas
|
cec5843f95
* renamed objcdef.addencodedtype to objcaddencodedtype for consistency
|
14 éve |
objcgutl.pas
|
bcc836f1b0
* put the RTTI for optional protocol methods in the correct section for
|
15 éve |
objcutil.pas
|
cec5843f95
* renamed objcdef.addencodedtype to objcaddencodedtype for consistency
|
14 éve |
ogbase.pas
|
292e85a59a
* Partial fix for i386 linux PIC code generation
|
15 éve |
ogcoff.pas
|
fd2b777435
* ogcoff.pas:
|
14 éve |
ogelf.pas
|
d2939bce3d
* i386 _GLOBAL_OFFSET_TABLE_ label special treatment moved to taicpu.pass2
|
15 éve |
oglx.pas
|
658c46b903
* remove tdictionary and tindexarray
|
19 éve |
ogmacho.pas
|
8b0301409a
+ i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and
|
15 éve |
ogmap.pas
|
5e11e697b4
* Use unsigned integers for sizes and positions to break 2GB limit in tdynamicarray, object writer, internal linker, coff and PE headers.
|
17 éve |
optbase.pas
|
49f9695cf5
* handle short boolean evaluation correctly when doing node cse
|
15 éve |
optcse.pas
|
7199ac4ad7
+ apply cse on load parent frame pointer nodes
|
15 éve |
optdead.pas
|
1597aac6d2
* first search for gnm and only then for nm
|
16 éve |
optdfa.pas
|
9955e6b2bf
* dfa fixes by Sergei Gorelkin, resolve #15402
|
15 éve |
options.pas
|
142e42bd81
o NativeNT target patch by Sven Barth, resolves with r16553 and r16554 #18195
|
14 éve |
optloop.pas
|
092153e7ad
* handle unrolling of for ... downto ... correctly, resolves #15668
|
15 éve |
opttail.pas
|
07bf44517c
* Merged XPCom branch into trunk, added support for constref and changed
|
15 éve |
optutils.pas
|
db196d76c2
+ strength reduction for array accesses inside for loops
|
17 éve |
optvirt.pas
|
daef2efa69
- removed tstoreddef.reset() and overrides, and the associated
|
15 éve |
owar.pas
|
5e11e697b4
* Use unsigned integers for sizes and positions to break 2GB limit in tdynamicarray, object writer, internal linker, coff and PE headers.
|
17 éve |
owbase.pas
|
5e11e697b4
* Use unsigned integers for sizes and positions to break 2GB limit in tdynamicarray, object writer, internal linker, coff and PE headers.
|
17 éve |
parabase.pas
|
f634ef6640
+ Workaround for IE2010053115 internal errors while writing PPU with explicitparaloc functions.
|
15 éve |
paramgr.pas
|
07bf44517c
* Merged XPCom branch into trunk, added support for constref and changed
|
15 éve |
parser.pas
|
dc5f5c3f63
compiler: use current_structdef instead of current_objectdef in more places
|
14 éve |
pass_1.pas
|
94d976bc87
* when simplifying ordinal expressions during inlining, keep the resultdef
|
15 éve |
pass_2.pas
|
ee6fe6c4f5
compiler: add unary plus node, search for unary plus operator if a type cannot be handled by compiler, increase ppu version because of node types change
|
14 éve |
pbase.pas
|
668cd1f3c0
compiler: change check for current in try_consume_unitsym - don't use current_unit in check because specialize code does not replace this variable (fixes bug #0015591)
|
14 éve |
pdecl.pas
|
4cfcc7ae7b
compiler: implement delphi generic syntax for delphi mode
|
14 éve |
pdecobj.pas
|
fa41b6ffe3
compiler: allow generic classes to derive from generic classes and generic interfaces
|
14 éve |
pdecsub.pas
|
fa41b6ffe3
compiler: allow generic classes to derive from generic classes and generic interfaces
|
14 éve |
pdecvar.pas
|
fa41b6ffe3
compiler: allow generic classes to derive from generic classes and generic interfaces
|
14 éve |
pexports.pas
|
56bf42de57
compiler: implement record methods and class methods:
|
14 éve |
pexpr.pas
|
55a0fefb1f
compiler: implement generic array type:
|
14 éve |
pinline.pas
|
56bf42de57
compiler: implement record methods and class methods:
|
14 éve |
pmodules.pas
|
7852295f26
compiler: start parsing of record constructors and destructors:
|
14 éve |
pp.lpi
|
0085c22c59
- NaN floating point constants do not anymore cause an error when $Q or $R is active (resolves #16315 and #14757)
|
15 éve |
pp.pas
|
6e8a6790d1
+ FPC_ARMEB and CPUARMEB similiar to FPC_ARMEL and CPUARMEL
|
16 éve |
ppc.cfg
|
9465a13e71
+ Delphi 6 configuration file
|
23 éve |
ppc.conf
|
add30a428e
* Kylix fixes, mostly case names of units
|
24 éve |
ppc.dof
|
67486c96c3
* fixes for Delphi 6 compilation
|
23 éve |
ppc68k.lpi
|
ab217ca748
* lpi version increased
|
16 éve |
ppcarm.lpi
|
ab217ca748
* lpi version increased
|
16 éve |
ppcavr.lpi
|
ab217ca748
* lpi version increased
|
16 éve |
ppcmipsel.lpi
|
4fd2aa297a
Adds mipsel lazarus project
|
15 éve |
ppcppc.lpi
|
ab217ca748
* lpi version increased
|
16 éve |
ppcsparc.lpi
|
ab217ca748
* lpi version increased
|
16 éve |
ppheap.pas
|
ef7bd58c54
* germanism removed (aktfilepos -> current_filepos)
|
19 éve |
ppu.pas
|
55a0fefb1f
compiler: implement generic array type:
|
14 éve |
ppx86_64.lpi
|
ab217ca748
* lpi version increased
|
16 éve |
procinfo.pas
|
f13f6627c4
* moved use_fixed_stack from cgutils to a method in paramgr so it can
|
15 éve |
pstatmnt.pas
|
2222f2c44b
* renamed is_class_or_interface_or_dispinterface_or_objc() into
|
14 éve |
psub.pas
|
e8502b8ec2
compiler: make current_genericdef, current_specializedef tstoreddef instead of tabstractrecorddef to implement generic arrays
|
14 éve |
psystem.pas
|
ee6fe6c4f5
compiler: add unary plus node, search for unary plus operator if a type cannot be handled by compiler, increase ppu version because of node types change
|
14 éve |
ptconst.pas
|
2222f2c44b
* renamed is_class_or_interface_or_dispinterface_or_objc() into
|
14 éve |
ptype.pas
|
fa41b6ffe3
compiler: allow generic classes to derive from generic classes and generic interfaces
|
14 éve |
raatt.pas
|
780e75bfac
o patch by Jeppe Johansen to fix mantis #17472:
|
14 éve |
rabase.pas
|
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
|
19 éve |
rasm.pas
|
1684a6fc32
* replaced tdictionary with tfphashlist
|
19 éve |
rautils.pas
|
dc5f5c3f63
compiler: use current_structdef instead of current_objectdef in more places
|
14 éve |
regvars.pas
|
07bf44517c
* Merged XPCom branch into trunk, added support for constref and changed
|
15 éve |
rescmn.pas
|
174de3eab1
Merged revisions 9693-10480 via svnmerge from
|
17 éve |
rgbase.pas
|
790a4fe2d3
* log and id tags removed
|
20 éve |
rgobj.pas
|
b127fc154a
* Fixed spell error revealed by lintian.
|
15 éve |
scandir.pas
|
86d3e41442
compiler: replace MODESWTICH POINTERARITHMETICS with $POINTERMATH directive, disable pointer arithmetic in delphi mode by default (compatible with delphi), enable pointer arithmetic in fpc/objfpc modes as they had it enabled by default before, add has_pointer_math field to tpointerdef to allow pointer arithmetic with such pointer even if pointer math mode is off (delphi compatible) + tests
|
14 éve |
scanner.pas
|
86d3e41442
compiler: replace MODESWTICH POINTERARITHMETICS with $POINTERMATH directive, disable pointer arithmetic in delphi mode by default (compatible with delphi), enable pointer arithmetic in fpc/objfpc modes as they had it enabled by default before, add has_pointer_math field to tpointerdef to allow pointer arithmetic with such pointer even if pointer math mode is off (delphi compatible) + tests
|
14 éve |
script.pas
|
446e2161ce
+ Made a single Amiga/MorphOS-specific PathConv import to cfileutl.pas, instead of importing it every single place it is needed.
|
16 éve |
switches.pas
|
a8381c8b32
fpc: compiler:
|
15 éve |
symbase.pas
|
5a2ccfff52
--WARNING: start build process with FPC 2.2.4; won't work when
|
16 éve |
symconst.pas
|
55a0fefb1f
compiler: implement generic array type:
|
14 éve |
symdef.pas
|
3ca3276400
* changed syntax of external objcclasses (see wiki/FPC_PasCocoa). Another
|
14 éve |
symnot.pas
|
790a4fe2d3
* log and id tags removed
|
20 éve |
symsym.pas
|
07bf44517c
* Merged XPCom branch into trunk, added support for constref and changed
|
15 éve |
symtable.pas
|
3ca3276400
* changed syntax of external objcclasses (see wiki/FPC_PasCocoa). Another
|
14 éve |
symtype.pas
|
55a0fefb1f
compiler: implement generic array type:
|
14 éve |
symutil.pas
|
9adb202a92
* Rework the constexprint to allow operations from low(int64) to high(qword).
|
18 éve |
systems.pas
|
1c5a3b6bf0
o patch by Graeme Geldenhuys
|
15 éve |
tgobj.pas
|
718694d1d6
* always specify an explicit alignment for tgobj.gettemp (so e.g.
|
17 éve |
tokens.pas
|
66b128efb3
compiler: map delphi Implicit operator to := operator of FPC, add Explicit operator for delphi only (for now) which works when explicit type conversion happens + extend test
|
14 éve |
verbose.pas
|
43846ca8c9
* force always printing absolute paths when using -vb (mantis #15783)
|
15 éve |
version.pas
|
8bd552b7b3
* version 2.5.1
|
16 éve |
widestr.pas
|
45d25bbe77
* fixed storing/loading widestring constant nodes into/from ppu files
|
15 éve |
wpo.pas
|
060d81b8fa
Merged revisions 11878,11881-11882,11889,11891-11893,11895,11899-11902,11935,11938,12212,12304,12308-12310,12316,12330-12332,12334,12339-12340 via svnmerge from
|
16 éve |
wpobase.pas
|
daef2efa69
- removed tstoreddef.reset() and overrides, and the associated
|
15 éve |
wpoinfo.pas
|
1743c6f1a8
* also recompile a unit if class/object definitions in indirectly used
|
15 éve |