LLVM/project dc2c6ef — mlir/lib/Dialect/LLVMIR/IR LLVMTypes.cpp, mlir/test/Dialect/LLVMIR layout.mlir

[mlir][LLVM] Fix crash combining nested pointer data layouts (#222855)

While investigating #222356, an LLVM pointer data layout compatibility
crash was found when combining nested layouts.

`LLVMPointerType::areCompatible()` passed the `DataLayoutEntryInterface`
itself to `extractPointerSpecValue()`, even though that helper expects
the entry value as a `DenseIntElementsAttr`.

Use `getValue()` for the enclosing pointer entry, matching the handling
of the nested entry and allowing compatible pointer layouts to be
combined without asserting.

The separate builtin data layout combination issue found during the same
investigation is handled independently.

Related to #222356.

AI-assisted tooling was used during development and validation.
DeltaFile
+22-1mlir/test/Dialect/LLVMIR/layout.mlir
+2-2mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
+24-32 files

FreeBSD/ports 489af23 — math Makefile, math/kissfft distinfo pkg-descr

math/kissfft: Add new ports: Mixed-radix Fast Fourier Transform

There are many great fft libraries already around. Kiss FFT is not trying to
be better than any of them. It only attempts to be a reasonably efficient,
moderately useful FFT that can use fixed or floating data types and can be
incorporated into someone's C program in a few minutes with trivial licensing.

WWW: https://github.com/mborgerding/kissfft/
DeltaFile
+29-0math/kissfft/files/patch-CMakeLists.txt
+28-0math/kissfft/Makefile
+17-0math/kissfft/pkg-plist
+7-0math/kissfft/pkg-descr
+3-0math/kissfft/distinfo
+1-0math/Makefile
+85-06 files

FreeBSD/ports 1b177c6 — devel/py-loro Makefile Makefile.crates

devel/py-loro: Update to 1.17.1
DeltaFile
+13-13devel/py-loro/distinfo
+5-5devel/py-loro/Makefile.crates
+1-2devel/py-loro/Makefile
+19-203 files

FreeBSD/ports 5b51f10 — x11-themes/sddm-freebsd-black-theme distinfo Makefile, x11-themes/sddm-freebsd-black-theme/files pkg-message.in

x11-themes/sddm-freebsd-black-theme: Update to 1.4 for Qt6

- Switch to new upstream
- Pass maintainership to submitter

PR:             293449
Submitted by:   Xiaodi Ma
DeltaFile
+6-5x11-themes/sddm-freebsd-black-theme/Makefile
+3-3x11-themes/sddm-freebsd-black-theme/distinfo
+1-1x11-themes/sddm-freebsd-black-theme/files/pkg-message.in
+10-93 files

FreeBSD/ports abdd22e — net/turnd distinfo Makefile

net/turnd: Update to 1.0.2

Co-authored-by: Michael Osipov <michaelo at FreeBSD.org>
PR:             300105
DeltaFile
+3-4net/turnd/Makefile
+3-3net/turnd/distinfo
+6-72 files

FreeBSD/ports e482681 — sysutils/qtpass Makefile distinfo

sysutils/qtpass: Update 1.8.2 => 1.8.4

Changelog:
https://github.com/IJHack/QtPass/blob/v1.8.4/CHANGELOG.md

PR:             300101
Approved by:    osa, vvd (Mentors, implicit)
MFH:            2026Q4

(cherry picked from commit 6f8412a697035f0362ff127fdddbb8b32ddb8907)
DeltaFile
+3-3sysutils/qtpass/distinfo
+1-1sysutils/qtpass/Makefile
+4-42 files

FreeBSD/ports 6f8412a — sysutils/qtpass Makefile distinfo

sysutils/qtpass: Update 1.8.2 => 1.8.4

Changelog:
https://github.com/IJHack/QtPass/blob/v1.8.4/CHANGELOG.md

PR:             300101
Approved by:    osa, vvd (Mentors, implicit)
MFH:            2026Q4
DeltaFile
+3-3sysutils/qtpass/distinfo
+1-1sysutils/qtpass/Makefile
+4-42 files

LLVM/project 36bc011 — llvm/include/llvm/IR BasicBlock.h, llvm/lib/IR BasicBlock.cpp

[𝘀𝗽𝗿] initial version

Created using spr 2.0.0-beta.2
DeltaFile
+2-2llvm/include/llvm/IR/BasicBlock.h
+3-1llvm/lib/IR/BasicBlock.cpp
+5-32 files

LLVM/project 77daadf — llvm/lib/CodeGen/SelectionDAG LegalizeIntegerTypes.cpp, llvm/test/CodeGen/AArch64 shuffle-tbl34.ll srem-seteq-illegal-types.ll

[SelectionDAG] Improve operand promotion for concat vectors. (#234070)

Create a new concat of legal type and then truncate it to the correct
size instead of creating a build vector.
DeltaFile
+54-86llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
+48-88llvm/test/CodeGen/AArch64/fptoi.ll
+38-39llvm/test/CodeGen/AArch64/srem-seteq-illegal-types.ll
+28-48llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
+32-28llvm/test/CodeGen/ARM/srem-seteq-illegal-types.ll
+20-21llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+220-31016 files not shown
+289-39322 files

FreeBSD/ports 547071b — net/stund distinfo Makefile

net/stund: Update to 1.0.2

Co-authored-by: Michael Osipov <michaelo at FreeBSD.org>
PR:             300104
DeltaFile
+3-4net/stund/Makefile
+3-3net/stund/distinfo
+6-72 files

LLVM/project d60ab33 — lldb/source/Expression DWARFExpression.cpp DWARFExpressionList.cpp, lldb/source/Symbol UnwindPlan.cpp

[lldb] Don't link DWARFUnit to print DWARF expressions
DeltaFile
+2-3lldb/source/Expression/DWARFExpressionList.cpp
+1-1lldb/source/Symbol/UnwindPlan.cpp
+1-1lldb/source/Expression/DWARFExpression.cpp
+4-53 files

LLVM/project 7f43d3d — lldb/source/Plugins/ObjectFile/PECOFF ObjectFilePECOFF.cpp

[lldb] Create COFFObjectFile directly in ObjectFilePECOFF (#229797)

`ObjectFilePECOFF` calls `llvm::object::createBinary` and then requires
the result to be a `COFFObjectFile`. `createBinary` dispatches to every
object file format, so it links all of them into lldb-server.
`MagicBytesMatch` has already established that the file is PE/COFF, so
call `COFFObjectFile::create`.
DeltaFile
+4-10lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
+4-101 files

LLVM/project 90c4377 — clang/lib/Serialization GlobalModuleIndex.cpp ASTWriter.cpp, clang/test/Modules cxx20-import-paths.cpp

[C++20][Modules] Omit imported PCM file info for explicitly mapped header units (#235597)

C++20 named module dependencies are already serialized without PCM file
information. This PR applies the same behavior to header units loaded through
a named mapping (`-fmodule-file=<name>=<pcm>`). Header units loaded
through `-fmodule-file=<file>` retain their file information.

An explicit `IsCXX20ModuleOrPrebuiltHeaderUnit` field is added to
the `IMPORT` record rather than reusing `StandardCXXModule`, which
also controls imported-module lookup.

This also adds a missing test for the existing named-module behavior and
tests the corresponding header-unit behavior introduced by this change.
DeltaFile
+80-0clang/test/Modules/cxx20-import-paths.cpp
+14-10clang/lib/Serialization/ASTReader.cpp
+17-3clang/lib/Serialization/ASTWriter.cpp
+6-2clang/lib/Serialization/GlobalModuleIndex.cpp
+117-154 files

LLVM/project 5a3396b — llvm/lib/TableGen TGParser.h TGParser.cpp

[TableGen] Use "parent class" terminology in TGParser. NFC. (#235106)

TGParser called the classes and multiclasses that a record or multiclass
inherits from "subclasses", for example in AddSubClass and
SubClassReference, although they are its parent classes. Rename them to
match the terminology of the TableGen grammar in ProgRef, e.g.
AddParentClass and ClassReference, and update the comments
accordingly, including the grammar comments.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
DeltaFile
+73-75llvm/lib/TableGen/TGParser.cpp
+7-7llvm/lib/TableGen/TGParser.h
+80-822 files

Linux/linux d135ab4 — drivers/video/backlight lm3630a_bl.c ktd253-backlight.c

Merge tag 'backlight-next-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight

Pull backlight updates from Lee Jones:
 "Improvements & Fixes:
   - Qualcomm WLED: Fix a NULL pointer dereference in `wled_remove()` by
     setting platform driver data in `wled_probe()`
   - Qualcomm WLED: Fix the WLED3 brightness register stride to prevent
     consecutive string writes from overlapping
   - Qualcomm WLED: Read back the hardware-programmed brightness at
     probe, expose it via
    `get_brightness()`, and prevent unbalanced OVP IRQ enabling
   - TI LM3630A: Cancel delayed work synchronously after freeing the IRQ
     and before destroying the workqueue in `lm3630a_remove()`

  Cleanups & Refactoring:
   - Ilitek ILI9320 / Kinetic KTD253: Fix spelling typos in comments"

* tag 'backlight-next-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
  backlight: qcom-wled: Read back the programmed brightness at probe

    [5 lines not shown]
DeltaFile
+1-1drivers/video/backlight/ktd253-backlight.c
+1-1drivers/video/backlight/ili9320.c
+1-0drivers/video/backlight/lm3630a_bl.c
+3-23 files

LLVM/project dfba5a3 — llvm/lib/Target/AMDGPU VOP3Instructions.td, llvm/test/CodeGen/AMDGPU idot2.ll load-atomic-global.ll

[AMDGPU] Fold high-half extracts into op_sel for i16 mad (#231410)

Use the VOP3OpSel complex pattern for the sources of the i16 mul+add
patterns that select the op_sel-capable v_mad_u16 on GFX10+, so that a
source taken from the high half of a packed register is read with op_sel
instead of being extracted with a shift first.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
DeltaFile
+339-0llvm/test/CodeGen/AMDGPU/mad-i16-hi16.ll
+12-15llvm/test/CodeGen/AMDGPU/idot4u.ll
+6-9llvm/test/CodeGen/AMDGPU/load-atomic-local.ll
+3-6llvm/test/CodeGen/AMDGPU/load-atomic-global.ll
+5-2llvm/lib/Target/AMDGPU/VOP3Instructions.td
+1-5llvm/test/CodeGen/AMDGPU/idot2.ll
+366-371 files not shown
+367-397 files

LLVM/project 720b416 — llvm/lib/Transforms/Scalar CorrelatedValuePropagation.cpp, llvm/test/Transforms/CorrelatedValuePropagation eliminated-sdiv-wrong-dbgval.ll

[DebugInfo] Salvage replaced sdiv instructions (#234602)

When `correlated-propagation` removed SDiv instructions, it doesn't
correctly salvage the debug information. This leads to variables in the
debugger having incorrect values. This patch makes sure we salvage the
debug information correctly.

(See https://github.com/llvm/llvm-project/issues/218630, which this
fixes)
DeltaFile
+36-0llvm/test/Transforms/CorrelatedValuePropagation/eliminated-sdiv-wrong-dbgval.ll
+1-0llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
+37-02 files

FreeBSD/src 7b8151b — sys/netinet sctp_usrreq.c

sctp: improve handling of SO_SETFIB socket option

Since SCTP keeps fibnum in the SCTP protocol control block,
the code can't just defer the processing to the IPv4 or IPv6
layer. Therefore it needs to be implemented in the the SCTP
layer and it needs to call the socket layer function.

PR:             300091
Reviewed by:    tuexen
Fixes:          caccbaef8e26 ("socket: Move SO_SETFIB handling to protocol layers")
MFC after:      3 days
MFC to:         stable/14
MFC to:         stable/15
DeltaFile
+10-2sys/netinet/sctp_usrreq.c
+10-21 files

LLVM/project aa3a171 — llvm/lib/Target/AMDGPU FLATInstructions.td, llvm/test/CodeGen/AMDGPU atomic-fp-rtn-agpr-encoding.mir

[AMDGPU] Fix sc1 encoding of gfx940 fp atomics with AGPR results

The *_F64 FLAT and GLOBAL atomics have separate VI and GFX940 reals,
because the VI reals are defined with has_sccb=0 and so do not encode
bit 25, which is SC1 on GFX940. However:

- #129668 removed the isGFX90AOnly predicate from the VI reals, so on
  GFX940+ both the VI and GFX940 reals matched in the assembler. The
  GFX940 ones happened to win because they were defined later.
- The GFX940 multiclasses did not define *_RTN_agpr reals, so the AGPR
  forms of the returning atomics always used the VI reals on GFX940+.
  The assembler silently dropped sc1 for these, the disassembler could
  not decode them with sc1 set, and codegen dropped sc1 from the
  *_RTN_agpr pseudos.

Fix this by adding *_RTN_agpr (and *_SADDR_RTN_agpr) reals to the GFX940
atomic multiclasses, and restricting the VI f64 reals to
isGFX8GFX9NotGFX940, like the neighbouring f32 and pk_f16 ones.


    [6 lines not shown]
DeltaFile
+13-13llvm/test/CodeGen/AMDGPU/atomic-fp-rtn-agpr-encoding.mir
+10-10llvm/test/MC/AMDGPU/gfx942_global_atomic_fadd_acc.s
+9-9llvm/test/MC/Disassembler/AMDGPU/gfx942_atomic_f64.txt
+9-9llvm/test/MC/AMDGPU/gfx942_atomic_f64.s
+11-7llvm/lib/Target/AMDGPU/FLATInstructions.td
+8-8llvm/test/MC/Disassembler/AMDGPU/gfx942_global_atomic_fadd_acc.txt
+60-566 files

LLVM/project aa79b44 — llvm/test/CodeGen/AMDGPU atomic-fp-rtn-agpr-encoding.mir, llvm/test/MC/AMDGPU gfx90a_atomic_f64.s gfx942_atomic_f64.s

[AMDGPU] Precommit tests for gfx942 fp atomics with AGPR results (#232059)

Add MC, disassembler and codegen tests for FLAT and GLOBAL fp atomics on
gfx942 and gfx950, with more complete coverage of the f64 atomics on
gfx90a and gfx942.

The returning forms of {flat,global}_atomic_{add,min,max}_f64 with AGPR
operands currently use the *_RTN_agpr_vi reals on gfx942, which do not
encode bit 25 (SC1), so:

- the assembler silently drops sc1
- the disassembler fails to decode them with sc1 set
- the *_RTN_agpr pseudos are lowered without sc1

Similarly for global_atomic_add_f32 and global_atomic_pk_add_f16, where
codegen drops sc1 from the *_RTN_agpr pseudos, and the assembler and
disassembler reject the AGPR returning forms altogether.

The codegen test is written in MIR because nothing currently selects the

    [13 lines not shown]
DeltaFile
+148-0llvm/test/MC/AMDGPU/gfx942_atomic_f64.s
+148-0llvm/test/MC/Disassembler/AMDGPU/gfx942_atomic_f64.txt
+147-0llvm/test/MC/AMDGPU/gfx90a_atomic_f64.s
+147-0llvm/test/MC/Disassembler/AMDGPU/gfx90a_atomic_f64.txt
+79-0llvm/test/CodeGen/AMDGPU/atomic-fp-rtn-agpr-encoding.mir
+20-0llvm/test/MC/Disassembler/AMDGPU/gfx942_global_atomic_fadd_acc.txt
+689-01 files not shown
+709-07 files

FreeBSD/ports 546330f — net-p2p/transmission Makefile, net-p2p/transmission-components Makefile distinfo

net-p2p/transmission: Update 4.1.3 => 4.1.4

Changelog:
https://github.com/transmission/transmission/releases/tag/4.1.4

PR:             300082
Sponsored by:   UNIS Labs (vvd, commit patch)
MFH:            2026Q4

(cherry picked from commit d1e169a2d5bd5ca296baded0c1eaf80aeb64765f)
DeltaFile
+15-29net-p2p/transmission-components/files/patch-CMakeLists.txt
+12-0net-p2p/transmission-components/files/patch-tests_libtransmission-app_CMakeLists.txt
+3-3net-p2p/transmission-components/distinfo
+1-1net-p2p/transmission/Makefile
+1-1net-p2p/transmission-components/Makefile
+32-345 files

FreeBSD/ports d1e169a — net-p2p/transmission Makefile, net-p2p/transmission-components Makefile distinfo

net-p2p/transmission: Update 4.1.3 => 4.1.4

Changelog:
https://github.com/transmission/transmission/releases/tag/4.1.4

PR:             300082
Sponsored by:   UNIS Labs (vvd, commit patch)
MFH:            2026Q4
DeltaFile
+15-29net-p2p/transmission-components/files/patch-CMakeLists.txt
+12-0net-p2p/transmission-components/files/patch-tests_libtransmission-app_CMakeLists.txt
+3-3net-p2p/transmission-components/distinfo
+1-1net-p2p/transmission/Makefile
+1-1net-p2p/transmission-components/Makefile
+32-345 files

LLVM/project c256c4f — llvm/lib/Transforms/Vectorize/SLPVectorizer SLPUtils.cpp

[SLP] Check operands and users before memory effects (NFC) (#235830)

In areAllOperandsNonInsts and isUsedOutsideBlock, check the
operands/users first. They are cheap and usually fail, while
mayHaveNonDefUseDependency and mayReadOrWriteMemory are expensive for
calls.

stage1-O3: -0.04%
stage1-ReleaseThinLTO: -0.03%
stage1-ReleaseLTO-g: -0.06%
stage1-aarch64-O3: -0.08%
stage2-O3: -0.04%
stage2-clang: -0.01%


https://llvm-compile-time-tracker.com/compare.php?from=0ae45cf2c8aab97c90bbc00b1ca985d7f5bb34e0&to=2d062abb18d9ef849fb64715f65c9a7128c5b18f&stat=instructions:u

Aided by Opus 5.5

PR: https://github.com/llvm/llvm-project/pull/235830
DeltaFile
+9-10llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
+9-101 files

LLVM/project 673ec17 — lldb/docs/resources lldbdap-extensions.md

[lldb-dap][docs] Note the version that introduced an extension (#235773)

Record the LLDB release each lldb-dap extension first shipped in.

To avoid user creating issue of missing fields. similar to
https://github.com/llvm/llvm-project/issues/161998
DeltaFile
+31-2lldb/docs/resources/lldbdap-extensions.md
+31-21 files

Linux/linux 5b93dc1 — Documentation/devicetree/bindings/leds lacie,netxbig-leds.yaml adi,ltc3208.yaml, drivers/leds leds-pca955x.c led-triggers.c

Merge tag 'leds-next-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds

Pull LED updates from Lee Jones:
 "New Support & Features:
   - Core: Add `led_trigger_notify_hw_control_changed()` to allow
     drivers to notify the core of autonomous hardware control
     transitions
   - Core: Add the `hw_offloaded()` trigger callback and
     `trigger_may_offload_to_hw` sysfs attribute to expose
     hardware-offloaded triggers
   - Netdev Trigger: Implement the `hw_offloaded()` callback to report
     hardware control state to the LED core
   - Analog Devices LTC3208: Add support for the LTC3208 7-channel
     multi-display I2C LED driver
   - ChromeOS EC: Implement the `hw_offloaded()` callback for the
     `chromeos-auto` trigger
   - CZ.NIC Turris Omnia: Implement the `hw_offloaded()` callback and
     declare `omnia-mcu` as a hardware control trigger
   - STMicroelectronics ST1202: Add hardware-accelerated blink support

    [101 lines not shown]
DeltaFile
+189-51drivers/leds/leds-st1202.c
+234-0drivers/leds/leds-ltc3208.c
+183-0Documentation/devicetree/bindings/leds/adi,ltc3208.yaml
+167-10drivers/leds/led-triggers.c
+136-0Documentation/devicetree/bindings/leds/lacie,netxbig-leds.yaml
+31-63drivers/leds/leds-pca955x.c
+940-12439 files not shown
+1,401-43145 files

FreeBSD/ports 7ccb703 — misc/img2xterm Makefile, multimedia/lebiniou Makefile

*/*: Bump consumers after graphics/ImageMagick{6,7} update

ImageInfo and DrawInfo gained a member, GetImageInfo() and
GetDrawInfo() clear the new size on a caller-provided struct.

PR:             300074
With hat:       ports-secteam
Sponsored by:   Netzkommune GmbH

(cherry picked from commit ed4c5e5da5d94699da0740485ffce262bdae6dae)
DeltaFile
+1-1x11-wm/windowmaker/Makefile
+1-1x11-wm/nscde/Makefile
+1-1x11-wm/libwraster/Makefile
+1-1print/pdfmixtool/Makefile
+1-1multimedia/lebiniou/Makefile
+1-1misc/img2xterm/Makefile
+6-629 files not shown
+35-2535 files

LLVM/project 339d17b — offload/libomptarget omptarget.cpp, offload/plugins-nextgen/common/include PluginInterface.h

[offload][omp] Remove data_fence

All supported backends execute enqueued work on a given queue in
submission order (CUDA, AMDGPU, and Host queues are always in-order;
Level Zero's default and non-default in-order/synchronous command
modes are as well), so the explicit data-fence used to order a
pointer-attachment after prior data transfers is unnecessary. Remove
the DeviceTy/GenericDeviceTy/GenericPluginTy dataFence chain and the
now-unused olQueueBarrier liboffload API added to support it.
DeltaFile
+4-17offload/libomptarget/omptarget.cpp
+0-12offload/plugins-nextgen/common/src/PluginInterface.cpp
+0-8offload/plugins-nextgen/level_zero/src/L0Device.cpp
+0-8offload/plugins-nextgen/common/include/PluginInterface.h
+0-7offload/plugins-nextgen/host/src/rtl.cpp
+0-7offload/plugins-nextgen/cuda/src/rtl.cpp
+4-594 files not shown
+4-7510 files

FreeBSD/ports 1325d4f — graphics/ImageMagick7 distinfo Makefile

graphics/ImageMagick7: Update to 7.1.2-34

Changelog:      https://github.com/ImageMagick/ImageMagick/compare/7.1.2-25...7.1.2-34

PR:             300074
Security:       fc4d0a5b-d0c6-11f1-bae2-3497f65b111b
With hat:       ports-secteam
Sponsored by:   Netzkommune GmbH

(cherry picked from commit 815ba8ad6965f09dd6668d983f57911f5ae40646)
DeltaFile
+205-332graphics/ImageMagick7/pkg-plist
+3-4graphics/ImageMagick7/Makefile
+3-3graphics/ImageMagick7/distinfo
+211-3393 files

FreeBSD/ports d9d6c0b — graphics/ImageMagick6 distinfo Makefile

graphics/ImageMagick6: Update to 6.9.13-59

Changelog:      https://github.com/ImageMagick/ImageMagick6/compare/6.9.13-50...6.9.13-59

PR:             300074
Security:       fc4d429d-d0c6-11f1-bae2-3497f65b111b
With hat:       ports-secteam
Sponsored by:   Netzkommune GmbH

(cherry picked from commit 7f637961304700977a2864f0dd43c0e35b96b3c0)
DeltaFile
+193-314graphics/ImageMagick6/pkg-plist
+3-4graphics/ImageMagick6/Makefile
+3-3graphics/ImageMagick6/distinfo
+199-3213 files

LLVM/project 96f1ec0 — lldb/bindings/python CMakeLists.txt

[LLDB] Use `-fastproxy` when building swig bridge without limited python API (#234206)

Per [swig
docs](https://www.swig.org/Doc4.4/Python.html#Python_fastproxy).
Additionally, the `-olddefs` option is included so that the doc comments
still function. The latter change makes importing the LLDB module a bit
slower, but makes every method call a good bit faster.

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
DeltaFile
+4-0lldb/bindings/python/CMakeLists.txt
+4-01 files