| /linux/sound/core/oss/ |
| A D | pcm_oss.c | 1162 runtime = substream->runtime; in snd_pcm_oss_make_ready() 1185 runtime = substream->runtime; in snd_pcm_oss_make_ready_locked() 1209 runtime = substream->runtime; in snd_pcm_oss_capture_position_fixup() 1572 runtime = substream->runtime; in snd_pcm_oss_reset() 1609 runtime = substream->runtime; in snd_pcm_oss_sync1() 1922 runtime = substream->runtime; in snd_pcm_oss_set_subdivide1() 1966 runtime = substream->runtime; in snd_pcm_oss_set_fragment1() 2169 runtime = substream->runtime; in snd_pcm_oss_get_odelay() 2197 runtime = substream->runtime; in snd_pcm_oss_get_ptr() 2264 runtime = substream->runtime; in snd_pcm_oss_get_space() [all …]
|
| /linux/sound/core/ |
| A D | rawmidi.c | 127 runtime->event(runtime->substream); in snd_rawmidi_input_event_work() 181 substream->runtime = runtime; in snd_rawmidi_runtime_create() 256 runtime = substream->runtime; in snd_rawmidi_drain_output() 1148 runtime = substream->runtime; in snd_rawmidi_receive() 1278 runtime = substream->runtime; in snd_rawmidi_read() 1331 runtime = substream->runtime; in snd_rawmidi_transmit_empty() 1503 runtime = substream->runtime; in snd_rawmidi_proceed() 1593 runtime = substream->runtime; in snd_rawmidi_write() 1664 runtime = rfile->input->runtime; in snd_rawmidi_poll() 1726 runtime = substream->runtime; in snd_rawmidi_proc_info_read() [all …]
|
| A D | pcm_native.c | 742 runtime = substream->runtime; in snd_pcm_hw_params() 905 runtime = substream->runtime; in snd_pcm_hw_free() 939 runtime = substream->runtime; in snd_pcm_sw_params() 1163 runtime = substream->runtime; in snd_pcm_channel_info() 2095 runtime = substream->runtime; in snd_pcm_drain() 2135 runtime = s->runtime; in snd_pcm_drain() 2205 runtime = substream->runtime; in snd_pcm_drop() 3477 runtime = substream->runtime; in snd_pcm_read() 3502 runtime = substream->runtime; in snd_pcm_write() 3530 runtime = substream->runtime; in snd_pcm_readv() [all …]
|
| A D | pcm_lib.c | 66 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcm_playback_silence() local 70 if (runtime->silence_size < runtime->boundary) { in snd_pcm_playback_silence() 125 ofs = (runtime->silence_start + runtime->silence_filled) % runtime->buffer_size; in snd_pcm_playback_silence() 170 struct snd_pcm_runtime *runtime = substream->runtime; in __snd_pcm_xrun() local 240 struct snd_pcm_runtime *runtime = substream->runtime; in update_audio_tstamp() local 289 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcm_update_hw_ptr0() local 426 (((runtime->period_size * HZ) / runtime->rate) in snd_pcm_update_hw_ptr0() 481 runtime->hw_ptr_interrupt -= runtime->boundary; in snd_pcm_update_hw_ptr0() 488 runtime->hw_ptr_wrap += runtime->boundary; in snd_pcm_update_hw_ptr0() 1906 runtime = substream->runtime; in snd_pcm_period_elapsed_under_stream_lock() [all …]
|
| A D | compress_offload.c | 120 runtime = kzalloc(sizeof(*runtime), GFP_KERNEL); in snd_compr_open() 121 if (!runtime) { in snd_compr_open() 128 data->stream.runtime = runtime; in snd_compr_open() 133 kfree(runtime); in snd_compr_open() 143 struct snd_compr_runtime *runtime = data->stream.runtime; in snd_compr_free() local 147 switch (runtime->state) { in snd_compr_free() 160 kfree(data->stream.runtime); in snd_compr_free() 252 struct snd_compr_runtime *runtime = stream->runtime; in snd_compr_write_data() local 255 runtime->buffer_size); in snd_compr_write_data() 503 runtime = stream->runtime; in snd_compr_free_pages() [all …]
|
| A D | pcm.c | 379 runtime = substream->runtime; in snd_pcm_substream_proc_hw_params_read() 380 if (!runtime) { in snd_pcm_substream_proc_hw_params_read() 392 snd_iprintf(buffer, "rate: %u (%u/%u)\n", runtime->rate, runtime->rate_num, runtime->rate_den); in snd_pcm_substream_proc_hw_params_read() 414 runtime = substream->runtime; in snd_pcm_substream_proc_sw_params_read() 415 if (!runtime) { in snd_pcm_substream_proc_sw_params_read() 442 runtime = substream->runtime; in snd_pcm_substream_proc_status_read() 443 if (!runtime) { in snd_pcm_substream_proc_status_read() 940 runtime = kzalloc(sizeof(*runtime), GFP_KERNEL); in snd_pcm_attach_substream() 969 substream->runtime = runtime; in snd_pcm_attach_substream() 988 runtime = substream->runtime; in snd_pcm_detach_substream() [all …]
|
| /linux/sound/soc/uniphier/ |
| A D | aio-dma.c | 30 struct snd_pcm_runtime *runtime = sub->substream->runtime; in aiodma_pcm_irq() local 32 runtime->channels * samples_to_bytes(runtime, 1); in aiodma_pcm_irq() 50 struct snd_compr_runtime *runtime = sub->cstream->runtime; in aiodma_compr_irq() local 99 struct snd_pcm_runtime *runtime = substream->runtime; in uniphier_aiodma_open() local 110 struct snd_pcm_runtime *runtime = substream->runtime; in uniphier_aiodma_prepare() local 115 runtime->channels * samples_to_bytes(runtime, 1); in uniphier_aiodma_prepare() 125 runtime->dma_addr + runtime->dma_bytes, in uniphier_aiodma_prepare() 137 struct snd_pcm_runtime *runtime = substream->runtime; in uniphier_aiodma_trigger() local 143 runtime->channels * samples_to_bytes(runtime, 1); in uniphier_aiodma_trigger() 173 struct snd_pcm_runtime *runtime = substream->runtime; in uniphier_aiodma_pointer() local [all …]
|
| /linux/sound/pci/ctxfi/ |
| A D | ctpcm.c | 111 runtime->private_data = NULL; in ct_atc_pcm_free_substream() 118 struct snd_pcm_runtime *runtime = substream->runtime; in ct_pcm_playback_open() local 153 runtime->private_data = apcm; in ct_pcm_playback_open() 202 struct snd_pcm_runtime *runtime = substream->runtime; in ct_pcm_playback_prepare() local 223 struct snd_pcm_runtime *runtime = substream->runtime; in ct_pcm_playback_trigger() local 249 struct snd_pcm_runtime *runtime = substream->runtime; in ct_pcm_playback_pointer() local 264 struct snd_pcm_runtime *runtime = substream->runtime; in ct_pcm_capture_open() local 294 runtime->private_data = apcm; in ct_pcm_capture_open() 315 struct snd_pcm_runtime *runtime = substream->runtime; in ct_pcm_capture_prepare() local 332 struct snd_pcm_runtime *runtime = substream->runtime; in ct_pcm_capture_trigger() local [all …]
|
| /linux/drivers/staging/vc04_services/bcm2835-audio/ |
| A D | bcm2835-pcm.c | 49 kfree(runtime->private_data); in snd_bcm2835_playback_free() 88 struct snd_pcm_runtime *runtime = substream->runtime; in snd_bcm2835_playback_open_generic() local 170 struct snd_pcm_runtime *runtime; in snd_bcm2835_playback_close() local 175 runtime = substream->runtime; in snd_bcm2835_playback_close() 198 struct snd_pcm_runtime *runtime = substream->runtime; in snd_bcm2835_pcm_prepare() local 210 channels = runtime->channels; in snd_bcm2835_pcm_prepare() 213 runtime->rate, in snd_bcm2835_pcm_prepare() 237 struct snd_pcm_runtime *runtime = substream->runtime; in snd_bcm2835_pcm_transfer() local 246 struct snd_pcm_runtime *runtime = substream->runtime; in snd_bcm2835_pcm_ack() local 257 struct snd_pcm_runtime *runtime = substream->runtime; in snd_bcm2835_pcm_trigger() local [all …]
|
| /linux/sound/drivers/ |
| A D | pcmtest.c | 183 runtime->channels, in check_buf_block_i() 225 check_buf_block_i(v_iter, runtime); in check_buf_block() 227 check_buf_block_ni(v_iter, runtime); in check_buf_block() 321 fill_block_rand_i(v_iter, runtime); in fill_block_random() 323 fill_block_rand_n(v_iter, runtime); in fill_block_random() 330 fill_block_random(v_iter, runtime); in fill_block() 333 fill_block_pattern(v_iter, runtime); in fill_block() 373 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcmtst_pcm_open() local 384 runtime->hw = snd_pcmtst_hw; in snd_pcmtst_pcm_open() 385 runtime->private_data = v_iter; in snd_pcmtst_pcm_open() [all …]
|
| /linux/sound/isa/sb/ |
| A D | sb16_main.c | 239 struct snd_pcm_runtime *runtime = substream->runtime; in snd_sb16_playback_prepare() local 309 struct snd_pcm_runtime *runtime = substream->runtime; in snd_sb16_capture_prepare() local 496 struct snd_pcm_runtime *runtime = substream->runtime; in snd_sb16_playback_open() local 541 runtime->hw.rate_max = 48000; in snd_sb16_playback_open() 544 runtime->hw.periods_min = 2; in snd_sb16_playback_open() 545 runtime->hw.rate_min = 44100; in snd_sb16_playback_open() 548 runtime->hw.rate_min = runtime->hw.rate_max = chip->locked_rate; in snd_sb16_playback_open() 571 struct snd_pcm_runtime *runtime = substream->runtime; in snd_sb16_capture_open() local 616 runtime->hw.rate_max = 48000; in snd_sb16_capture_open() 619 runtime->hw.periods_min = 2; in snd_sb16_capture_open() [all …]
|
| A D | sb8_main.c | 94 struct snd_pcm_runtime *runtime = substream->runtime; in snd_sb8_playback_prepare() local 100 rate = runtime->rate; in snd_sb8_playback_prepare() 112 if (runtime->channels > 1) { in snd_sb8_playback_prepare() 158 runtime->dma_area[0] = 0x80; in snd_sb8_playback_prepare() 211 struct snd_pcm_runtime *runtime = substream->runtime; in snd_sb8_playback_trigger() local 213 if (runtime->channels > 1) { in snd_sb8_playback_trigger() 232 struct snd_pcm_runtime *runtime = substream->runtime; in snd_sb8_capture_prepare() local 238 rate = runtime->rate; in snd_sb8_capture_prepare() 250 if (runtime->channels > 1) { in snd_sb8_capture_prepare() 336 struct snd_pcm_runtime *runtime = substream->runtime; in snd_sb8_capture_trigger() local [all …]
|
| /linux/sound/pci/emu10k1/ |
| A D | p16v.c | 155 struct snd_pcm_runtime *runtime = substream->runtime; in snd_p16v_pcm_open_playback_channel() local 183 struct snd_pcm_runtime *runtime = substream->runtime; in snd_p16v_pcm_open_capture_channel() local 239 struct snd_pcm_runtime *runtime = substream->runtime; in snd_p16v_pcm_prepare_playback() local 251 channel, runtime->rate, runtime->format, runtime->channels, in snd_p16v_pcm_prepare_playback() 252 runtime->buffer_size, runtime->period_size, in snd_p16v_pcm_prepare_playback() 253 runtime->periods, frames_to_bytes(runtime, 1)); in snd_p16v_pcm_prepare_playback() 256 runtime->dma_addr, runtime->dma_area, table_base); in snd_p16v_pcm_prepare_playback() 306 struct snd_pcm_runtime *runtime = substream->runtime; in snd_p16v_pcm_prepare_capture() local 378 if (runtime && runtime->private_data) { in snd_p16v_interrupt() 392 if (runtime && runtime->private_data) { in snd_p16v_interrupt() [all …]
|
| A D | emupcm.c | 208 runtime->hw.rate_min = runtime->hw.rate_max = rate; in snd_emu1010_constrain_efx_rate() 353 struct snd_pcm_runtime *runtime = substream->runtime; in snd_emu10k1_playback_hw_params() local 399 struct snd_pcm_runtime *runtime = substream->runtime; in snd_emu10k1_playback_hw_free() local 422 struct snd_pcm_runtime *runtime = substream->runtime; in snd_emu10k1_playback_prepare() local 452 struct snd_pcm_runtime *runtime = substream->runtime; in snd_emu10k1_efx_playback_prepare() local 501 struct snd_pcm_runtime *runtime = substream->runtime; in snd_emu10k1_capture_prepare() local 587 struct snd_pcm_runtime *runtime = substream->runtime; in snd_emu10k1_playback_prepare_voices() local 724 struct snd_pcm_runtime *runtime = substream->runtime; in snd_emu10k1_playback_trigger() local 769 struct snd_pcm_runtime *runtime = substream->runtime; in snd_emu10k1_capture_trigger() local 841 struct snd_pcm_runtime *runtime = substream->runtime; in snd_emu10k1_playback_pointer() local [all …]
|
| /linux/include/sound/ |
| A D | pcm.h | 800 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcm_lib_buffer_bytes() local 801 return frames_to_bytes(runtime, runtime->buffer_size); in snd_pcm_lib_buffer_bytes() 812 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcm_lib_period_bytes() local 813 return frames_to_bytes(runtime, runtime->period_size); in snd_pcm_lib_period_bytes() 882 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcm_playback_ready() local 896 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcm_capture_ready() local 911 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcm_playback_data() local 913 if (runtime->stop_threshold >= runtime->boundary) in snd_pcm_playback_data() 928 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcm_playback_empty() local 942 struct snd_pcm_runtime *runtime = substream->runtime; in snd_pcm_capture_empty() local [all …]
|
| /linux/sound/isa/gus/ |
| A D | gus_pcm.c | 65 struct snd_pcm_runtime *runtime = substream->runtime; in snd_gf1_pcm_block_change() local 89 struct snd_pcm_runtime *runtime = substream->runtime; in snd_gf1_pcm_trigger_up() local 183 runtime = pcmp->substream->runtime; in snd_gf1_pcm_interrupt_wave() 341 struct snd_pcm_runtime *runtime = substream->runtime; in playback_copy_ack() local 360 struct snd_pcm_runtime *runtime = substream->runtime; in snd_gf1_pcm_playback_copy() local 377 struct snd_pcm_runtime *runtime = substream->runtime; in snd_gf1_pcm_playback_silence() local 394 struct snd_pcm_runtime *runtime = substream->runtime; in snd_gf1_pcm_playback_hw_params() local 441 struct snd_pcm_runtime *runtime = substream->runtime; in snd_gf1_pcm_playback_hw_free() local 461 struct snd_pcm_runtime *runtime = substream->runtime; in snd_gf1_pcm_playback_prepare() local 475 struct snd_pcm_runtime *runtime = substream->runtime; in snd_gf1_pcm_playback_trigger() local [all …]
|
| /linux/sound/soc/bcm/ |
| A D | bcm63xx-pcm-whistler.c | 148 struct snd_pcm_runtime *runtime = substream->runtime; in bcm63xx_pcm_prepare() local 193 struct snd_pcm_runtime *runtime = substream->runtime; in bcm63xx_pcm_open() local 217 runtime->private_data = prtd; in bcm63xx_pcm_open() 226 struct snd_pcm_runtime *runtime = substream->runtime; in bcm63xx_pcm_close() local 238 struct snd_pcm_runtime *runtime; in i2s_dma_isr() local 252 runtime = substream->runtime; in i2s_dma_isr() 254 prtd = runtime->private_data; in i2s_dma_isr() 275 runtime->dma_bytes) { in i2s_dma_isr() 300 runtime = substream->runtime; in i2s_dma_isr() 302 prtd = runtime->private_data; in i2s_dma_isr() [all …]
|
| /linux/sound/soc/dwc/ |
| A D | dwc-pcm.c | 37 if (++tx_ptr >= runtime->buffer_size) \ 57 if (++rx_ptr >= runtime->buffer_size) \ 141 struct snd_pcm_runtime *runtime = substream->runtime; in dw_pcm_open() local 147 runtime->private_data = dev; in dw_pcm_open() 163 struct snd_pcm_runtime *runtime = substream->runtime; in dw_pcm_hw_params() local 164 struct dw_i2s_dev *dev = runtime->private_data; in dw_pcm_hw_params() 195 struct snd_pcm_runtime *runtime = substream->runtime; in dw_pcm_trigger() local 196 struct dw_i2s_dev *dev = runtime->private_data; in dw_pcm_trigger() 230 struct snd_pcm_runtime *runtime = substream->runtime; in dw_pcm_pointer() local 231 struct dw_i2s_dev *dev = runtime->private_data; in dw_pcm_pointer() [all …]
|
| /linux/sound/soc/sof/intel/ |
| A D | hda-pcm.c | 107 dmab = substream->runtime->dma_buffer_p; in hda_dsp_pcm_hw_params() 151 struct snd_pcm_runtime *runtime = substream->runtime; in hda_dsp_pcm_ack() local 155 appl_pos = frames_to_bytes(runtime, runtime->control->appl_ptr); in hda_dsp_pcm_ack() 156 buf_size = frames_to_bytes(runtime, runtime->buffer_size); in hda_dsp_pcm_ack() 205 pos = bytes_to_frames(substream->runtime, pos); in hda_dsp_pcm_pointer() 216 struct snd_pcm_runtime *runtime = substream->runtime; in hda_dsp_pcm_open() local 241 runtime->hw.info &= ~SNDRV_PCM_INFO_PAUSE; in hda_dsp_pcm_open() 258 snd_pcm_hw_constraint_integer(substream->runtime, in hda_dsp_pcm_open() 264 runtime->hw.periods_min, in hda_dsp_pcm_open() 288 snd_pcm_hw_constraint_minmax(substream->runtime, in hda_dsp_pcm_open() [all …]
|
| /linux/sound/soc/qcom/qdsp6/ |
| A D | q6apm-dai.c | 221 struct snd_pcm_runtime *runtime = substream->runtime; in q6apm_dai_prepare() local 300 struct snd_pcm_runtime *runtime = substream->runtime; in q6apm_dai_trigger() local 330 struct snd_pcm_runtime *runtime = substream->runtime; in q6apm_dai_open() local 409 struct snd_pcm_runtime *runtime = substream->runtime; in q6apm_dai_close() local 428 struct snd_pcm_runtime *runtime = substream->runtime; in q6apm_dai_pointer() local 479 struct snd_compr_runtime *runtime = stream->runtime; in q6apm_dai_compr_open() local 525 struct snd_compr_runtime *runtime = stream->runtime; in q6apm_dai_compr_free() local 575 struct snd_compr_runtime *runtime = stream->runtime; in q6apm_dai_compr_pointer() local 590 struct snd_compr_runtime *runtime = stream->runtime; in q6apm_dai_compr_trigger() local 623 struct snd_compr_runtime *runtime = stream->runtime; in q6apm_dai_compr_ack() local [all …]
|
| /linux/drivers/media/pci/cobalt/ |
| A D | cobalt-alsa-pcm.c | 119 runtime = substream->runtime; in cobalt_alsa_announce_pcm_data() 120 if (runtime == NULL) { in cobalt_alsa_announce_pcm_data() 166 runtime->buffer_size) in cobalt_alsa_announce_pcm_data() 168 runtime->buffer_size; in cobalt_alsa_announce_pcm_data() 172 runtime->period_size) { in cobalt_alsa_announce_pcm_data() 174 runtime->period_size; in cobalt_alsa_announce_pcm_data() 208 struct snd_pcm_runtime *runtime = substream->runtime; in snd_cobalt_pcm_capture_open() local 215 runtime->private_data = s; in snd_cobalt_pcm_capture_open() 318 runtime = substream->runtime; in cobalt_alsa_pb_pcm_data() 319 if (runtime == NULL) { in cobalt_alsa_pb_pcm_data() [all …]
|
| /linux/sound/drivers/vx/ |
| A D | vx_pcm.c | 159 if (runtime->rate < 32000 && runtime->rate > 11025) in vx_set_format() 516 struct snd_pcm_runtime *runtime = subs->runtime; in vx_pcm_playback_open() local 682 struct snd_pcm_runtime *runtime = subs->runtime; in vx_pcm_playback_transfer() local 703 struct snd_pcm_runtime *runtime = subs->runtime; in vx_pcm_playback_update() local 776 struct snd_pcm_runtime *runtime = subs->runtime; in vx_pcm_playback_pointer() local 787 struct snd_pcm_runtime *runtime = subs->runtime; in vx_pcm_prepare() local 835 pipe->buffer_bytes = frames_to_bytes(runtime, runtime->buffer_size); in vx_pcm_prepare() 892 struct snd_pcm_runtime *runtime = subs->runtime; in vx_pcm_capture_open() local 989 struct snd_pcm_runtime *runtime = subs->runtime; in vx_pcm_capture_update() local 994 size = runtime->buffer_size - snd_pcm_capture_avail(runtime); in vx_pcm_capture_update() [all …]
|
| /linux/sound/atmel/ |
| A D | ac97c.c | 88 struct snd_pcm_runtime *runtime = substream->runtime; in atmel_ac97c_playback_open() local 107 struct snd_pcm_runtime *runtime = substream->runtime; in atmel_ac97c_capture_open() local 188 struct snd_pcm_runtime *runtime = substream->runtime; in atmel_ac97c_playback_prepare() local 189 int block_size = frames_to_bytes(runtime, runtime->period_size); in atmel_ac97c_playback_prepare() 270 struct snd_pcm_runtime *runtime = substream->runtime; in atmel_ac97c_capture_prepare() local 416 struct snd_pcm_runtime *runtime = substream->runtime; in atmel_ac97c_playback_pointer() local 433 struct snd_pcm_runtime *runtime = substream->runtime; in atmel_ac97c_capture_pointer() local 484 runtime = chip->playback_substream->runtime; in atmel_ac97c_interrupt() 485 block_size = frames_to_bytes(runtime, runtime->period_size); in atmel_ac97c_interrupt() 502 runtime = chip->capture_substream->runtime; in atmel_ac97c_interrupt() [all …]
|
| /linux/sound/soc/amd/ |
| A D | acp-da7219-max98357a.c | 247 struct snd_pcm_runtime *runtime = substream->runtime; in cz_da7219_play_startup() local 256 runtime->hw.channels_max = DUAL_CHANNEL; in cz_da7219_play_startup() 268 struct snd_pcm_runtime *runtime = substream->runtime; in cz_da7219_cap_startup() local 290 struct snd_pcm_runtime *runtime = substream->runtime; in cz_max_startup() local 311 struct snd_pcm_runtime *runtime = substream->runtime; in cz_dmic0_startup() local 332 struct snd_pcm_runtime *runtime = substream->runtime; in cz_dmic1_startup() local 359 struct snd_pcm_runtime *runtime = substream->runtime; in cz_rt5682_play_startup() local 380 struct snd_pcm_runtime *runtime = substream->runtime; in cz_rt5682_cap_startup() local 402 struct snd_pcm_runtime *runtime = substream->runtime; in cz_rt5682_max_startup() local 423 struct snd_pcm_runtime *runtime = substream->runtime; in cz_rt5682_dmic0_startup() local [all …]
|
| /linux/drivers/media/pci/cx18/ |
| A D | cx18-alsa-pcm.c | 62 struct snd_pcm_runtime *runtime; in cx18_alsa_announce_pcm_data() local 77 runtime = substream->runtime; in cx18_alsa_announce_pcm_data() 78 if (runtime == NULL) { in cx18_alsa_announce_pcm_data() 95 if (runtime->dma_area == NULL) { in cx18_alsa_announce_pcm_data() 103 runtime->buffer_size - oldptr; in cx18_alsa_announce_pcm_data() 116 runtime->buffer_size) in cx18_alsa_announce_pcm_data() 118 runtime->buffer_size; in cx18_alsa_announce_pcm_data() 122 runtime->period_size) { in cx18_alsa_announce_pcm_data() 124 runtime->period_size; in cx18_alsa_announce_pcm_data() 137 struct snd_pcm_runtime *runtime = substream->runtime; in snd_cx18_pcm_capture_open() local [all …]
|