/frameworks/av/media/libstagefright/timedtext/ |
D | TextDescriptions.cpp | 28 uint32_t flags, int timeMs, Parcel *parcel) { in getParcelOfDescriptions() argument 29 parcel->freeData(); in getParcelOfDescriptions() 33 return extract3GPPGlobalDescriptions(data, size, parcel); in getParcelOfDescriptions() 35 return extract3GPPLocalDescriptions(data, size, timeMs, parcel); in getParcelOfDescriptions() 39 return extractSRTLocalDescriptions(data, size, timeMs, parcel); in getParcelOfDescriptions() 50 const uint8_t *data, ssize_t size, int timeMs, Parcel *parcel) { in extractSRTLocalDescriptions() argument 51 parcel->writeInt32(KEY_LOCAL_SETTING); in extractSRTLocalDescriptions() 52 parcel->writeInt32(KEY_START_TIME); in extractSRTLocalDescriptions() 53 parcel->writeInt32(timeMs); in extractSRTLocalDescriptions() 55 parcel->writeInt32(KEY_STRUCT_TEXT); in extractSRTLocalDescriptions() [all …]
|
/frameworks/native/libs/gui/ |
D | LayerDebugInfo.cpp | 32 status_t LayerDebugInfo::writeToParcel(Parcel* parcel) const { in writeToParcel() 33 RETURN_ON_ERROR(parcel->writeCString(mName.c_str())); in writeToParcel() 34 RETURN_ON_ERROR(parcel->writeCString(mParentName.c_str())); in writeToParcel() 35 RETURN_ON_ERROR(parcel->writeCString(mType.c_str())); in writeToParcel() 36 RETURN_ON_ERROR(parcel->write(mTransparentRegion)); in writeToParcel() 37 RETURN_ON_ERROR(parcel->write(mVisibleRegion)); in writeToParcel() 38 RETURN_ON_ERROR(parcel->write(mSurfaceDamageRegion)); in writeToParcel() 39 RETURN_ON_ERROR(parcel->writeUint32(mLayerStack)); in writeToParcel() 40 RETURN_ON_ERROR(parcel->writeFloat(mX)); in writeToParcel() 41 RETURN_ON_ERROR(parcel->writeFloat(mY)); in writeToParcel() [all …]
|
/frameworks/base/core/java/android/content/ |
D | SyncStatusInfo.java | 88 public void writeToParcel(Parcel parcel) { in writeToParcel() argument 89 parcel.writeLong(totalElapsedTime); in writeToParcel() 90 parcel.writeInt(numSyncs); in writeToParcel() 91 parcel.writeInt(numSourcePoll); in writeToParcel() 92 parcel.writeInt(numSourceOther); in writeToParcel() 93 parcel.writeInt(numSourceLocal); in writeToParcel() 94 parcel.writeInt(numSourceUser); in writeToParcel() 95 parcel.writeInt(numSourcePeriodic); in writeToParcel() 96 parcel.writeInt(numSourceFeed); in writeToParcel() 97 parcel.writeInt(numFailures); in writeToParcel() [all …]
|
/frameworks/av/media/libaudioclient/include/media/ |
D | IAudioFlinger.h | 59 status_t readFromParcel(const Parcel *parcel) override { in readFromParcel() argument 62 if (parcel->read(&attr, sizeof(audio_attributes_t)) != NO_ERROR) { in readFromParcel() 67 if (parcel->read(&config, sizeof(audio_config_t)) != NO_ERROR) { in readFromParcel() 70 if (clientInfo.readFromParcel(parcel) != NO_ERROR) { in readFromParcel() 73 if (parcel->readInt32() != 0) { in readFromParcel() 74 sharedBuffer = interface_cast<IMemory>(parcel->readStrongBinder()); in readFromParcel() 79 notificationsPerBuffer = parcel->readInt32(); in readFromParcel() 80 speed = parcel->readFloat(); in readFromParcel() 83 (void)parcel->read(&flags, sizeof(audio_output_flags_t)); in readFromParcel() 84 frameCount = parcel->readInt64(); in readFromParcel() [all …]
|
/frameworks/base/core/jni/ |
D | android_os_Parcel.cpp | 95 Parcel* parcel = reinterpret_cast<Parcel*>(nativePtr); in android_os_Parcel_dataSize() local 96 return parcel ? parcel->dataSize() : 0; in android_os_Parcel_dataSize() 101 Parcel* parcel = reinterpret_cast<Parcel*>(nativePtr); in android_os_Parcel_dataAvail() local 102 return parcel ? parcel->dataAvail() : 0; in android_os_Parcel_dataAvail() 107 Parcel* parcel = reinterpret_cast<Parcel*>(nativePtr); in android_os_Parcel_dataPosition() local 108 return parcel ? parcel->dataPosition() : 0; in android_os_Parcel_dataPosition() 113 Parcel* parcel = reinterpret_cast<Parcel*>(nativePtr); in android_os_Parcel_dataCapacity() local 114 return parcel ? parcel->dataCapacity() : 0; in android_os_Parcel_dataCapacity() 119 Parcel* parcel = reinterpret_cast<Parcel*>(nativePtr); in android_os_Parcel_setDataSize() local 120 if (parcel != NULL) { in android_os_Parcel_setDataSize() [all …]
|
/frameworks/native/libs/binder/ndk/ |
D | parcel.cpp | 49 binder_status_t WriteAndValidateArraySize(AParcel* parcel, bool isNullArray, int32_t length) { in WriteAndValidateArraySize() argument 62 Parcel* rawParcel = parcel->get(); in WriteAndValidateArraySize() 71 binder_status_t WriteArray(AParcel* parcel, const T* array, int32_t length) { in WriteArray() argument 72 binder_status_t status = WriteAndValidateArraySize(parcel, array == nullptr, length); in WriteArray() 79 void* const data = parcel->get()->writeInplace(size); in WriteArray() 89 binder_status_t WriteArray<char16_t>(AParcel* parcel, const char16_t* array, int32_t length) { in WriteArray() argument 90 binder_status_t status = WriteAndValidateArraySize(parcel, array == nullptr, length); in WriteArray() 97 Parcel* rawParcel = parcel->get(); in WriteArray() 109 binder_status_t ReadArray(const AParcel* parcel, void* arrayData, in ReadArray() argument 111 const Parcel* rawParcel = parcel->get(); in ReadArray() [all …]
|
/frameworks/native/libs/binder/ndk/include_cpp/android/ |
D | binder_parcel_utils.h | 158 static inline binder_status_t AParcel_writeNullableStrongBinder(AParcel* parcel, in AParcel_writeNullableStrongBinder() argument 160 return AParcel_writeStrongBinder(parcel, binder.get()); in AParcel_writeNullableStrongBinder() 166 static inline binder_status_t AParcel_readNullableStrongBinder(const AParcel* parcel, in AParcel_readNullableStrongBinder() argument 169 binder_status_t status = AParcel_readStrongBinder(parcel, &readBinder); in AParcel_readNullableStrongBinder() 179 static inline binder_status_t AParcel_writeRequiredStrongBinder(AParcel* parcel, in AParcel_writeRequiredStrongBinder() argument 184 return AParcel_writeStrongBinder(parcel, binder.get()); in AParcel_writeRequiredStrongBinder() 190 static inline binder_status_t AParcel_readRequiredStrongBinder(const AParcel* parcel, in AParcel_readRequiredStrongBinder() argument 193 binder_status_t ret = AParcel_readStrongBinder(parcel, &readBinder); in AParcel_readRequiredStrongBinder() 208 AParcel* parcel, const ScopedFileDescriptor& fd) { in AParcel_writeNullableParcelFileDescriptor() argument 209 return AParcel_writeParcelFileDescriptor(parcel, fd.get()); in AParcel_writeNullableParcelFileDescriptor() [all …]
|
/frameworks/av/camera/ |
D | CaptureResult.cpp | 29 status_t CaptureResultExtras::readFromParcel(const android::Parcel *parcel) { in readFromParcel() argument 30 if (parcel == NULL) { in readFromParcel() 35 parcel->readInt32(&requestId); in readFromParcel() 36 parcel->readInt32(&burstId); in readFromParcel() 37 parcel->readInt32(&afTriggerId); in readFromParcel() 38 parcel->readInt32(&precaptureTriggerId); in readFromParcel() 39 parcel->readInt64(&frameNumber); in readFromParcel() 40 parcel->readInt32(&partialResultCount); in readFromParcel() 41 parcel->readInt32(&errorStreamId); in readFromParcel() 42 auto physicalCameraIdPresent = parcel->readBool(); in readFromParcel() [all …]
|
/frameworks/native/services/vr/hardware_composer/aidl/android/dvr/ |
D | parcelable_composer_layer.cpp | 18 status_t ParcelableComposerLayer::writeToParcel(Parcel* parcel) const { in writeToParcel() 19 status_t ret = parcel->writeUint64(layer_.id); in writeToParcel() 22 ret = parcel->write(*layer_.buffer); in writeToParcel() 25 ret = parcel->writeBool(layer_.fence->isValid()); in writeToParcel() 29 ret = parcel->writeFileDescriptor(layer_.fence->dup(), true); in writeToParcel() 33 ret = parcel->writeInt32(layer_.display_frame.left); in writeToParcel() 36 ret = parcel->writeInt32(layer_.display_frame.top); in writeToParcel() 39 ret = parcel->writeInt32(layer_.display_frame.right); in writeToParcel() 42 ret = parcel->writeInt32(layer_.display_frame.bottom); in writeToParcel() 45 ret = parcel->writeFloat(layer_.crop.left); in writeToParcel() [all …]
|
/frameworks/av/media/libaudioclient/ |
D | AudioPolicy.cpp | 40 status_t AudioMixMatchCriterion::readFromParcel(Parcel *parcel) in readFromParcel() argument 42 mRule = parcel->readInt32(); in readFromParcel() 46 mValue.mUsage = (audio_usage_t) parcel->readInt32(); in readFromParcel() 50 mValue.mSource = (audio_source_t) parcel->readInt32(); in readFromParcel() 54 mValue.mUid = (uid_t) parcel->readInt32(); in readFromParcel() 63 status_t AudioMixMatchCriterion::writeToParcel(Parcel *parcel) const in writeToParcel() 65 parcel->writeInt32(mRule); in writeToParcel() 66 parcel->writeInt32(mValue.mUsage); in writeToParcel() 74 status_t AudioMix::readFromParcel(Parcel *parcel) in readFromParcel() argument 76 mMixType = parcel->readInt32(); in readFromParcel() [all …]
|
D | AudioVolumeGroup.cpp | 29 status_t AudioVolumeGroup::readFromParcel(const Parcel *parcel) in readFromParcel() argument 31 status_t ret = parcel->readUtf8FromUtf16(&mName); in readFromParcel() 35 mGroupId = static_cast<volume_group_t>(parcel->readInt32()); in readFromParcel() 36 size_t size = static_cast<size_t>(parcel->readInt32()); in readFromParcel() 39 attribute.readFromParcel(parcel); in readFromParcel() 46 size = static_cast<size_t>(parcel->readInt32()); in readFromParcel() 48 audio_stream_type_t stream = static_cast<audio_stream_type_t>(parcel->readInt32()); in readFromParcel() 54 status_t AudioVolumeGroup::writeToParcel(Parcel *parcel) const in writeToParcel() 56 parcel->writeUtf8AsUtf16(mName); in writeToParcel() 57 parcel->writeInt32(static_cast<int32_t>(mGroupId)); in writeToParcel() [all …]
|
D | AudioAttributes.cpp | 27 status_t AudioAttributes::readFromParcel(const Parcel *parcel) in readFromParcel() argument 30 mAttributes.content_type = static_cast<audio_content_type_t>(parcel->readInt32()); in readFromParcel() 31 mAttributes.usage = static_cast<audio_usage_t>(parcel->readInt32()); in readFromParcel() 32 mAttributes.source = static_cast<audio_source_t>(parcel->readInt32()); in readFromParcel() 33 mAttributes.flags = static_cast<audio_flags_mask_t>(parcel->readInt32()); in readFromParcel() 34 const bool hasFlattenedTag = (parcel->readInt32() == 1); in readFromParcel() 37 ret = parcel->readUtf8FromUtf16(&tags); in readFromParcel() 45 mStreamType = static_cast<audio_stream_type_t>(parcel->readInt32()); in readFromParcel() 46 mGroupId = static_cast<volume_group_t>(parcel->readUint32()); in readFromParcel() 50 status_t AudioAttributes::writeToParcel(Parcel *parcel) const in writeToParcel() [all …]
|
/frameworks/native/libs/binder/ndk/include_ndk/android/ |
D | binder_parcel.h | 58 void AParcel_delete(AParcel* parcel) __INTRODUCED_IN(29); 71 binder_status_t AParcel_setDataPosition(const AParcel* parcel, int32_t position) 87 int32_t AParcel_getDataPosition(const AParcel* parcel) __INTRODUCED_IN(29); 187 typedef binder_status_t (*AParcel_writeParcelableElement)(AParcel* parcel, const void* arrayData, 201 typedef binder_status_t (*AParcel_readParcelableElement)(const AParcel* parcel, void* arrayData, 406 binder_status_t AParcel_writeStrongBinder(AParcel* parcel, AIBinder* binder) __INTRODUCED_IN(29); 419 binder_status_t AParcel_readStrongBinder(const AParcel* parcel, AIBinder** binder) 435 binder_status_t AParcel_writeParcelFileDescriptor(AParcel* parcel, int fd) __INTRODUCED_IN(29); 452 binder_status_t AParcel_readParcelFileDescriptor(const AParcel* parcel, int* fd) 471 binder_status_t AParcel_writeStatusHeader(AParcel* parcel, const AStatus* status) [all …]
|
/frameworks/native/libs/graphicsenv/ |
D | GpuStatsInfo.cpp | 27 status_t GpuStatsGlobalInfo::writeToParcel(Parcel* parcel) const { in writeToParcel() 29 if ((status = parcel->writeUtf8AsUtf16(driverPackageName)) != OK) return status; in writeToParcel() 30 if ((status = parcel->writeUtf8AsUtf16(driverVersionName)) != OK) return status; in writeToParcel() 31 if ((status = parcel->writeUint64(driverVersionCode)) != OK) return status; in writeToParcel() 32 if ((status = parcel->writeInt64(driverBuildTime)) != OK) return status; in writeToParcel() 33 if ((status = parcel->writeInt32(glLoadingCount)) != OK) return status; in writeToParcel() 34 if ((status = parcel->writeInt32(glLoadingFailureCount)) != OK) return status; in writeToParcel() 35 if ((status = parcel->writeInt32(vkLoadingCount)) != OK) return status; in writeToParcel() 36 if ((status = parcel->writeInt32(vkLoadingFailureCount)) != OK) return status; in writeToParcel() 37 if ((status = parcel->writeInt32(vulkanVersion)) != OK) return status; in writeToParcel() [all …]
|
/frameworks/base/media/java/android/media/ |
D | TimedText.java | 360 public TimedText(Parcel parcel) { in TimedText() argument 361 if (!parseParcel(parcel)) { in TimedText() 405 private boolean parseParcel(Parcel parcel) { in parseParcel() argument 406 parcel.setDataPosition(0); in parseParcel() 407 if (parcel.dataAvail() == 0) { in parseParcel() 411 int type = parcel.readInt(); in parseParcel() 413 type = parcel.readInt(); in parseParcel() 417 int mStartTimeMs = parcel.readInt(); in parseParcel() 420 type = parcel.readInt(); in parseParcel() 425 int textLen = parcel.readInt(); in parseParcel() [all …]
|
/frameworks/base/tests/SoundTriggerTests/src/android/hardware/soundtrigger/ |
D | SoundTriggerTest.java | 44 Parcel parcel = Parcel.obtain(); in testKeyphraseParcelUnparcel_noUsers() local 45 keyphrase.writeToParcel(parcel, 0); in testKeyphraseParcelUnparcel_noUsers() 48 parcel.setDataPosition(0); in testKeyphraseParcelUnparcel_noUsers() 49 Keyphrase unparceled = Keyphrase.CREATOR.createFromParcel(parcel); in testKeyphraseParcelUnparcel_noUsers() 63 Parcel parcel = Parcel.obtain(); in testKeyphraseParcelUnparcel_zeroUsers() local 64 keyphrase.writeToParcel(parcel, 0); in testKeyphraseParcelUnparcel_zeroUsers() 67 parcel.setDataPosition(0); in testKeyphraseParcelUnparcel_zeroUsers() 68 Keyphrase unparceled = Keyphrase.CREATOR.createFromParcel(parcel); in testKeyphraseParcelUnparcel_zeroUsers() 82 Parcel parcel = Parcel.obtain(); in testKeyphraseParcelUnparcel_pos() local 83 keyphrase.writeToParcel(parcel, 0); in testKeyphraseParcelUnparcel_pos() [all …]
|
/frameworks/base/core/java/android/view/accessibility/ |
D | AccessibilityEvent.java | 1183 public void initFromParcel(Parcel parcel) { in initFromParcel() argument 1184 mSealed = (parcel.readInt() == 1); in initFromParcel() 1185 mEventType = parcel.readInt(); in initFromParcel() 1186 mMovementGranularity = parcel.readInt(); in initFromParcel() 1187 mAction = parcel.readInt(); in initFromParcel() 1188 mContentChangeTypes = parcel.readInt(); in initFromParcel() 1189 mWindowChangeTypes = parcel.readInt(); in initFromParcel() 1190 mPackageName = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(parcel); in initFromParcel() 1191 mEventTime = parcel.readLong(); in initFromParcel() 1192 mConnectionId = parcel.readInt(); in initFromParcel() [all …]
|
/frameworks/native/libs/binder/ |
D | PersistableBundle.cpp | 90 status_t PersistableBundle::writeToParcel(Parcel* parcel) const { in writeToParcel() 98 RETURN_IF_FAILED(parcel->writeInt32(0)); in writeToParcel() 102 size_t length_pos = parcel->dataPosition(); in writeToParcel() 103 RETURN_IF_FAILED(parcel->writeInt32(1)); // dummy, will hold length in writeToParcel() 104 RETURN_IF_FAILED(parcel->writeInt32(BUNDLE_MAGIC_NATIVE)); in writeToParcel() 106 size_t start_pos = parcel->dataPosition(); in writeToParcel() 107 RETURN_IF_FAILED(writeToParcelInner(parcel)); in writeToParcel() 108 size_t end_pos = parcel->dataPosition(); in writeToParcel() 111 parcel->setDataPosition(length_pos); in writeToParcel() 117 RETURN_IF_FAILED(parcel->writeInt32(static_cast<int32_t>(length))); in writeToParcel() [all …]
|
/frameworks/av/media/libstagefright/timedtext/test/ |
D | TimedTextUnitTest.cpp | 133 Parcel parcel; in TEST_P() local 136 flag, kStartTimeMs, &parcel); in TEST_P() 138 ALOGI("Size of the Parcel: %zu", parcel.dataSize()); in TEST_P() 139 ASSERT_GT(parcel.dataSize(), 0) << "Parcel is empty"; in TEST_P() 141 parcel.setDataPosition(0); in TEST_P() 142 int32_t key = parcel.readInt32(); in TEST_P() 145 key = parcel.readInt32(); in TEST_P() 147 ASSERT_EQ(parcel.readInt32(), kStartTimeMs) << "Parcel has invalid timings"; in TEST_P() 149 key = parcel.readInt32(); in TEST_P() 151 ASSERT_EQ(parcel.readInt32(), mFileSize) << "Parcel has invalid text data"; in TEST_P() [all …]
|
/frameworks/av/include/media/ |
D | MicrophoneInfo.h | 75 virtual status_t writeToParcel(Parcel* parcel) const { in writeToParcel() argument 76 RETURN_IF_FAILED(parcel->writeString16(mDeviceId)); in writeToParcel() 77 RETURN_IF_FAILED(parcel->writeInt32(mPortId)); in writeToParcel() 78 RETURN_IF_FAILED(parcel->writeUint32(mType)); in writeToParcel() 79 RETURN_IF_FAILED(parcel->writeString16(mAddress)); in writeToParcel() 80 RETURN_IF_FAILED(parcel->writeInt32(mDeviceLocation)); in writeToParcel() 81 RETURN_IF_FAILED(parcel->writeInt32(mDeviceGroup)); in writeToParcel() 82 RETURN_IF_FAILED(parcel->writeInt32(mIndexInTheGroup)); in writeToParcel() 83 RETURN_IF_FAILED(writeFloatVector(parcel, mGeometricLocation)); in writeToParcel() 84 RETURN_IF_FAILED(writeFloatVector(parcel, mOrientation)); in writeToParcel() [all …]
|
/frameworks/base/core/tests/bluetoothtests/src/android/bluetooth/le/ |
D | AdvertiseDataTest.java | 42 Parcel parcel = Parcel.obtain(); in testEmptyData() local 44 data.writeToParcel(parcel, 0); in testEmptyData() 45 parcel.setDataPosition(0); in testEmptyData() 47 AdvertiseData.CREATOR.createFromParcel(parcel); in testEmptyData() 53 Parcel parcel = Parcel.obtain(); in testEmptyServiceUuid() local 55 data.writeToParcel(parcel, 0); in testEmptyServiceUuid() 56 parcel.setDataPosition(0); in testEmptyServiceUuid() 58 AdvertiseData.CREATOR.createFromParcel(parcel); in testEmptyServiceUuid() 64 Parcel parcel = Parcel.obtain(); in testEmptyManufacturerData() local 70 data.writeToParcel(parcel, 0); in testEmptyManufacturerData() [all …]
|
/frameworks/av/media/libaaudio/src/binding/ |
D | AAudioStreamConfiguration.cpp | 41 status_t AAudioStreamConfiguration::writeToParcel(Parcel* parcel) const { in writeToParcel() 44 status = parcel->writeInt32(getDeviceId()); in writeToParcel() 46 status = parcel->writeInt32(getSampleRate()); in writeToParcel() 48 status = parcel->writeInt32(getSamplesPerFrame()); in writeToParcel() 50 status = parcel->writeInt32((int32_t) getSharingMode()); in writeToParcel() 52 status = parcel->writeInt32((int32_t) getFormat()); in writeToParcel() 55 status = parcel->writeInt32((int32_t) getDirection()); in writeToParcel() 57 status = parcel->writeInt32(getBufferCapacity()); in writeToParcel() 59 status = parcel->writeInt32((int32_t) getUsage()); in writeToParcel() 61 status = parcel->writeInt32((int32_t) getContentType()); in writeToParcel() [all …]
|
/frameworks/base/core/java/android/view/ |
D | WindowInfo.java | 102 public void writeToParcel(Parcel parcel, int flags) { in writeToParcel() argument 103 parcel.writeInt(type); in writeToParcel() 104 parcel.writeInt(layer); in writeToParcel() 105 parcel.writeStrongBinder(token); in writeToParcel() 106 parcel.writeStrongBinder(parentToken); in writeToParcel() 107 parcel.writeStrongBinder(activityToken); in writeToParcel() 108 parcel.writeInt(focused ? 1 : 0); in writeToParcel() 109 boundsInScreen.writeToParcel(parcel, flags); in writeToParcel() 110 parcel.writeCharSequence(title); in writeToParcel() 111 parcel.writeLong(accessibilityIdOfAnchor); in writeToParcel() [all …]
|
/frameworks/native/libs/gui/view/ |
D | Surface.cpp | 30 status_t Surface::writeToParcel(Parcel* parcel) const { in writeToParcel() 31 return writeToParcel(parcel, false); in writeToParcel() 34 status_t Surface::writeToParcel(Parcel* parcel, bool nameAlreadyWritten) const { in writeToParcel() argument 35 if (parcel == nullptr) return BAD_VALUE; in writeToParcel() 40 res = parcel->writeString16(name); in writeToParcel() 44 res = parcel->writeInt32(0); in writeToParcel() 48 return IGraphicBufferProducer::exportToParcel(graphicBufferProducer, parcel); in writeToParcel() 51 status_t Surface::readFromParcel(const Parcel* parcel) { in readFromParcel() argument 52 return readFromParcel(parcel, false); in readFromParcel() 55 status_t Surface::readFromParcel(const Parcel* parcel, bool nameAlreadyRead) { in readFromParcel() argument [all …]
|
/frameworks/base/core/java/android/hardware/location/ |
D | GeofenceHardwareRequestParcelable.java | 140 public GeofenceHardwareRequestParcelable createFromParcel(Parcel parcel) { 141 int geofenceType = parcel.readInt(); 150 parcel.readDouble(), 151 parcel.readDouble(), 152 parcel.readDouble()); 153 request.setLastTransition(parcel.readInt()); 154 request.setMonitorTransitions(parcel.readInt()); 155 request.setUnknownTimer(parcel.readInt()); 156 request.setNotificationResponsiveness(parcel.readInt()); 157 request.setSourceTechnologies(parcel.readInt()); [all …]
|