//go:build !no_gotd_slices
// +build !no_gotd_slices

// Code generated by gotdgen, DO NOT EDIT.

package tg

import (
	
	
	
	
	

	

	
	
	
	
)

// No-op definition for keeping imports.
var (
	_ = bin.Buffer{}
	_ = context.Background()
	_ = fmt.Stringer(nil)
	_ = strings.Builder{}
	_ = errors.Is
	_ = multierr.AppendInto
	_ = sort.Ints
	_ = tdp.Format
	_ = tgerr.Error{}
	_ = tdjson.Encoder{}
)

// PageBlockClassArray is adapter for slice of PageBlockClass.
type PageBlockClassArray []PageBlockClass

// Sort sorts slice of PageBlockClass.
func ( PageBlockClassArray) ( func(,  PageBlockClass) bool) PageBlockClassArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockClass.
func ( PageBlockClassArray) ( func(,  PageBlockClass) bool) PageBlockClassArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockClass.
func ( PageBlockClassArray) ( func( PageBlockClass) bool) PageBlockClassArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockClassArray) () ( PageBlockClass,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockClassArray) () ( PageBlockClass,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockClassArray) () ( PageBlockClass,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockClass
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockClassArray) () ( PageBlockClass,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// AsPageBlockTitle returns copy with only PageBlockTitle constructors.
func ( PageBlockClassArray) () ( PageBlockTitleArray) {
	for ,  := range  {
		,  := .(*PageBlockTitle)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockSubtitle returns copy with only PageBlockSubtitle constructors.
func ( PageBlockClassArray) () ( PageBlockSubtitleArray) {
	for ,  := range  {
		,  := .(*PageBlockSubtitle)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockAuthorDate returns copy with only PageBlockAuthorDate constructors.
func ( PageBlockClassArray) () ( PageBlockAuthorDateArray) {
	for ,  := range  {
		,  := .(*PageBlockAuthorDate)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockHeader returns copy with only PageBlockHeader constructors.
func ( PageBlockClassArray) () ( PageBlockHeaderArray) {
	for ,  := range  {
		,  := .(*PageBlockHeader)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockSubheader returns copy with only PageBlockSubheader constructors.
func ( PageBlockClassArray) () ( PageBlockSubheaderArray) {
	for ,  := range  {
		,  := .(*PageBlockSubheader)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockParagraph returns copy with only PageBlockParagraph constructors.
func ( PageBlockClassArray) () ( PageBlockParagraphArray) {
	for ,  := range  {
		,  := .(*PageBlockParagraph)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockPreformatted returns copy with only PageBlockPreformatted constructors.
func ( PageBlockClassArray) () ( PageBlockPreformattedArray) {
	for ,  := range  {
		,  := .(*PageBlockPreformatted)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockFooter returns copy with only PageBlockFooter constructors.
func ( PageBlockClassArray) () ( PageBlockFooterArray) {
	for ,  := range  {
		,  := .(*PageBlockFooter)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockAnchor returns copy with only PageBlockAnchor constructors.
func ( PageBlockClassArray) () ( PageBlockAnchorArray) {
	for ,  := range  {
		,  := .(*PageBlockAnchor)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockList returns copy with only PageBlockList constructors.
func ( PageBlockClassArray) () ( PageBlockListArray) {
	for ,  := range  {
		,  := .(*PageBlockList)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockBlockquote returns copy with only PageBlockBlockquote constructors.
func ( PageBlockClassArray) () ( PageBlockBlockquoteArray) {
	for ,  := range  {
		,  := .(*PageBlockBlockquote)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockPullquote returns copy with only PageBlockPullquote constructors.
func ( PageBlockClassArray) () ( PageBlockPullquoteArray) {
	for ,  := range  {
		,  := .(*PageBlockPullquote)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockPhoto returns copy with only PageBlockPhoto constructors.
func ( PageBlockClassArray) () ( PageBlockPhotoArray) {
	for ,  := range  {
		,  := .(*PageBlockPhoto)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockVideo returns copy with only PageBlockVideo constructors.
func ( PageBlockClassArray) () ( PageBlockVideoArray) {
	for ,  := range  {
		,  := .(*PageBlockVideo)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockCover returns copy with only PageBlockCover constructors.
func ( PageBlockClassArray) () ( PageBlockCoverArray) {
	for ,  := range  {
		,  := .(*PageBlockCover)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockEmbed returns copy with only PageBlockEmbed constructors.
func ( PageBlockClassArray) () ( PageBlockEmbedArray) {
	for ,  := range  {
		,  := .(*PageBlockEmbed)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockEmbedPost returns copy with only PageBlockEmbedPost constructors.
func ( PageBlockClassArray) () ( PageBlockEmbedPostArray) {
	for ,  := range  {
		,  := .(*PageBlockEmbedPost)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockCollage returns copy with only PageBlockCollage constructors.
func ( PageBlockClassArray) () ( PageBlockCollageArray) {
	for ,  := range  {
		,  := .(*PageBlockCollage)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockSlideshow returns copy with only PageBlockSlideshow constructors.
func ( PageBlockClassArray) () ( PageBlockSlideshowArray) {
	for ,  := range  {
		,  := .(*PageBlockSlideshow)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockChannel returns copy with only PageBlockChannel constructors.
func ( PageBlockClassArray) () ( PageBlockChannelArray) {
	for ,  := range  {
		,  := .(*PageBlockChannel)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockAudio returns copy with only PageBlockAudio constructors.
func ( PageBlockClassArray) () ( PageBlockAudioArray) {
	for ,  := range  {
		,  := .(*PageBlockAudio)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockKicker returns copy with only PageBlockKicker constructors.
func ( PageBlockClassArray) () ( PageBlockKickerArray) {
	for ,  := range  {
		,  := .(*PageBlockKicker)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockTable returns copy with only PageBlockTable constructors.
func ( PageBlockClassArray) () ( PageBlockTableArray) {
	for ,  := range  {
		,  := .(*PageBlockTable)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockOrderedList returns copy with only PageBlockOrderedList constructors.
func ( PageBlockClassArray) () ( PageBlockOrderedListArray) {
	for ,  := range  {
		,  := .(*PageBlockOrderedList)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockDetails returns copy with only PageBlockDetails constructors.
func ( PageBlockClassArray) () ( PageBlockDetailsArray) {
	for ,  := range  {
		,  := .(*PageBlockDetails)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockRelatedArticles returns copy with only PageBlockRelatedArticles constructors.
func ( PageBlockClassArray) () ( PageBlockRelatedArticlesArray) {
	for ,  := range  {
		,  := .(*PageBlockRelatedArticles)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsPageBlockMap returns copy with only PageBlockMap constructors.
func ( PageBlockClassArray) () ( PageBlockMapArray) {
	for ,  := range  {
		,  := .(*PageBlockMap)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// PageBlockTitleArray is adapter for slice of PageBlockTitle.
type PageBlockTitleArray []PageBlockTitle

// Sort sorts slice of PageBlockTitle.
func ( PageBlockTitleArray) ( func(,  PageBlockTitle) bool) PageBlockTitleArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockTitle.
func ( PageBlockTitleArray) ( func(,  PageBlockTitle) bool) PageBlockTitleArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockTitle.
func ( PageBlockTitleArray) ( func( PageBlockTitle) bool) PageBlockTitleArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockTitleArray) () ( PageBlockTitle,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockTitleArray) () ( PageBlockTitle,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockTitleArray) () ( PageBlockTitle,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockTitle
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockTitleArray) () ( PageBlockTitle,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockSubtitleArray is adapter for slice of PageBlockSubtitle.
type PageBlockSubtitleArray []PageBlockSubtitle

// Sort sorts slice of PageBlockSubtitle.
func ( PageBlockSubtitleArray) ( func(,  PageBlockSubtitle) bool) PageBlockSubtitleArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockSubtitle.
func ( PageBlockSubtitleArray) ( func(,  PageBlockSubtitle) bool) PageBlockSubtitleArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockSubtitle.
func ( PageBlockSubtitleArray) ( func( PageBlockSubtitle) bool) PageBlockSubtitleArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockSubtitleArray) () ( PageBlockSubtitle,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockSubtitleArray) () ( PageBlockSubtitle,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockSubtitleArray) () ( PageBlockSubtitle,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockSubtitle
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockSubtitleArray) () ( PageBlockSubtitle,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockAuthorDateArray is adapter for slice of PageBlockAuthorDate.
type PageBlockAuthorDateArray []PageBlockAuthorDate

// Sort sorts slice of PageBlockAuthorDate.
func ( PageBlockAuthorDateArray) ( func(,  PageBlockAuthorDate) bool) PageBlockAuthorDateArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockAuthorDate.
func ( PageBlockAuthorDateArray) ( func(,  PageBlockAuthorDate) bool) PageBlockAuthorDateArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockAuthorDate.
func ( PageBlockAuthorDateArray) ( func( PageBlockAuthorDate) bool) PageBlockAuthorDateArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockAuthorDateArray) () ( PageBlockAuthorDate,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockAuthorDateArray) () ( PageBlockAuthorDate,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockAuthorDateArray) () ( PageBlockAuthorDate,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockAuthorDate
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockAuthorDateArray) () ( PageBlockAuthorDate,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockHeaderArray is adapter for slice of PageBlockHeader.
type PageBlockHeaderArray []PageBlockHeader

// Sort sorts slice of PageBlockHeader.
func ( PageBlockHeaderArray) ( func(,  PageBlockHeader) bool) PageBlockHeaderArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockHeader.
func ( PageBlockHeaderArray) ( func(,  PageBlockHeader) bool) PageBlockHeaderArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockHeader.
func ( PageBlockHeaderArray) ( func( PageBlockHeader) bool) PageBlockHeaderArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockHeaderArray) () ( PageBlockHeader,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockHeaderArray) () ( PageBlockHeader,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockHeaderArray) () ( PageBlockHeader,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockHeader
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockHeaderArray) () ( PageBlockHeader,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockSubheaderArray is adapter for slice of PageBlockSubheader.
type PageBlockSubheaderArray []PageBlockSubheader

// Sort sorts slice of PageBlockSubheader.
func ( PageBlockSubheaderArray) ( func(,  PageBlockSubheader) bool) PageBlockSubheaderArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockSubheader.
func ( PageBlockSubheaderArray) ( func(,  PageBlockSubheader) bool) PageBlockSubheaderArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockSubheader.
func ( PageBlockSubheaderArray) ( func( PageBlockSubheader) bool) PageBlockSubheaderArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockSubheaderArray) () ( PageBlockSubheader,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockSubheaderArray) () ( PageBlockSubheader,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockSubheaderArray) () ( PageBlockSubheader,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockSubheader
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockSubheaderArray) () ( PageBlockSubheader,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockParagraphArray is adapter for slice of PageBlockParagraph.
type PageBlockParagraphArray []PageBlockParagraph

// Sort sorts slice of PageBlockParagraph.
func ( PageBlockParagraphArray) ( func(,  PageBlockParagraph) bool) PageBlockParagraphArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockParagraph.
func ( PageBlockParagraphArray) ( func(,  PageBlockParagraph) bool) PageBlockParagraphArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockParagraph.
func ( PageBlockParagraphArray) ( func( PageBlockParagraph) bool) PageBlockParagraphArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockParagraphArray) () ( PageBlockParagraph,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockParagraphArray) () ( PageBlockParagraph,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockParagraphArray) () ( PageBlockParagraph,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockParagraph
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockParagraphArray) () ( PageBlockParagraph,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockPreformattedArray is adapter for slice of PageBlockPreformatted.
type PageBlockPreformattedArray []PageBlockPreformatted

// Sort sorts slice of PageBlockPreformatted.
func ( PageBlockPreformattedArray) ( func(,  PageBlockPreformatted) bool) PageBlockPreformattedArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockPreformatted.
func ( PageBlockPreformattedArray) ( func(,  PageBlockPreformatted) bool) PageBlockPreformattedArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockPreformatted.
func ( PageBlockPreformattedArray) ( func( PageBlockPreformatted) bool) PageBlockPreformattedArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockPreformattedArray) () ( PageBlockPreformatted,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockPreformattedArray) () ( PageBlockPreformatted,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockPreformattedArray) () ( PageBlockPreformatted,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockPreformatted
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockPreformattedArray) () ( PageBlockPreformatted,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockFooterArray is adapter for slice of PageBlockFooter.
type PageBlockFooterArray []PageBlockFooter

// Sort sorts slice of PageBlockFooter.
func ( PageBlockFooterArray) ( func(,  PageBlockFooter) bool) PageBlockFooterArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockFooter.
func ( PageBlockFooterArray) ( func(,  PageBlockFooter) bool) PageBlockFooterArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockFooter.
func ( PageBlockFooterArray) ( func( PageBlockFooter) bool) PageBlockFooterArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockFooterArray) () ( PageBlockFooter,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockFooterArray) () ( PageBlockFooter,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockFooterArray) () ( PageBlockFooter,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockFooter
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockFooterArray) () ( PageBlockFooter,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockAnchorArray is adapter for slice of PageBlockAnchor.
type PageBlockAnchorArray []PageBlockAnchor

// Sort sorts slice of PageBlockAnchor.
func ( PageBlockAnchorArray) ( func(,  PageBlockAnchor) bool) PageBlockAnchorArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockAnchor.
func ( PageBlockAnchorArray) ( func(,  PageBlockAnchor) bool) PageBlockAnchorArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockAnchor.
func ( PageBlockAnchorArray) ( func( PageBlockAnchor) bool) PageBlockAnchorArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockAnchorArray) () ( PageBlockAnchor,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockAnchorArray) () ( PageBlockAnchor,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockAnchorArray) () ( PageBlockAnchor,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockAnchor
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockAnchorArray) () ( PageBlockAnchor,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockListArray is adapter for slice of PageBlockList.
type PageBlockListArray []PageBlockList

// Sort sorts slice of PageBlockList.
func ( PageBlockListArray) ( func(,  PageBlockList) bool) PageBlockListArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockList.
func ( PageBlockListArray) ( func(,  PageBlockList) bool) PageBlockListArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockList.
func ( PageBlockListArray) ( func( PageBlockList) bool) PageBlockListArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockListArray) () ( PageBlockList,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockListArray) () ( PageBlockList,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockListArray) () ( PageBlockList,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockList
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockListArray) () ( PageBlockList,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockBlockquoteArray is adapter for slice of PageBlockBlockquote.
type PageBlockBlockquoteArray []PageBlockBlockquote

// Sort sorts slice of PageBlockBlockquote.
func ( PageBlockBlockquoteArray) ( func(,  PageBlockBlockquote) bool) PageBlockBlockquoteArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockBlockquote.
func ( PageBlockBlockquoteArray) ( func(,  PageBlockBlockquote) bool) PageBlockBlockquoteArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockBlockquote.
func ( PageBlockBlockquoteArray) ( func( PageBlockBlockquote) bool) PageBlockBlockquoteArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockBlockquoteArray) () ( PageBlockBlockquote,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockBlockquoteArray) () ( PageBlockBlockquote,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockBlockquoteArray) () ( PageBlockBlockquote,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockBlockquote
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockBlockquoteArray) () ( PageBlockBlockquote,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockPullquoteArray is adapter for slice of PageBlockPullquote.
type PageBlockPullquoteArray []PageBlockPullquote

// Sort sorts slice of PageBlockPullquote.
func ( PageBlockPullquoteArray) ( func(,  PageBlockPullquote) bool) PageBlockPullquoteArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockPullquote.
func ( PageBlockPullquoteArray) ( func(,  PageBlockPullquote) bool) PageBlockPullquoteArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockPullquote.
func ( PageBlockPullquoteArray) ( func( PageBlockPullquote) bool) PageBlockPullquoteArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockPullquoteArray) () ( PageBlockPullquote,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockPullquoteArray) () ( PageBlockPullquote,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockPullquoteArray) () ( PageBlockPullquote,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockPullquote
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockPullquoteArray) () ( PageBlockPullquote,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockPhotoArray is adapter for slice of PageBlockPhoto.
type PageBlockPhotoArray []PageBlockPhoto

// Sort sorts slice of PageBlockPhoto.
func ( PageBlockPhotoArray) ( func(,  PageBlockPhoto) bool) PageBlockPhotoArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockPhoto.
func ( PageBlockPhotoArray) ( func(,  PageBlockPhoto) bool) PageBlockPhotoArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockPhoto.
func ( PageBlockPhotoArray) ( func( PageBlockPhoto) bool) PageBlockPhotoArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockPhotoArray) () ( PageBlockPhoto,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockPhotoArray) () ( PageBlockPhoto,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockPhotoArray) () ( PageBlockPhoto,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockPhoto
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockPhotoArray) () ( PageBlockPhoto,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockVideoArray is adapter for slice of PageBlockVideo.
type PageBlockVideoArray []PageBlockVideo

// Sort sorts slice of PageBlockVideo.
func ( PageBlockVideoArray) ( func(,  PageBlockVideo) bool) PageBlockVideoArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockVideo.
func ( PageBlockVideoArray) ( func(,  PageBlockVideo) bool) PageBlockVideoArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockVideo.
func ( PageBlockVideoArray) ( func( PageBlockVideo) bool) PageBlockVideoArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockVideoArray) () ( PageBlockVideo,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockVideoArray) () ( PageBlockVideo,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockVideoArray) () ( PageBlockVideo,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockVideo
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockVideoArray) () ( PageBlockVideo,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockCoverArray is adapter for slice of PageBlockCover.
type PageBlockCoverArray []PageBlockCover

// Sort sorts slice of PageBlockCover.
func ( PageBlockCoverArray) ( func(,  PageBlockCover) bool) PageBlockCoverArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockCover.
func ( PageBlockCoverArray) ( func(,  PageBlockCover) bool) PageBlockCoverArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockCover.
func ( PageBlockCoverArray) ( func( PageBlockCover) bool) PageBlockCoverArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockCoverArray) () ( PageBlockCover,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockCoverArray) () ( PageBlockCover,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockCoverArray) () ( PageBlockCover,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockCover
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockCoverArray) () ( PageBlockCover,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockEmbedArray is adapter for slice of PageBlockEmbed.
type PageBlockEmbedArray []PageBlockEmbed

// Sort sorts slice of PageBlockEmbed.
func ( PageBlockEmbedArray) ( func(,  PageBlockEmbed) bool) PageBlockEmbedArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockEmbed.
func ( PageBlockEmbedArray) ( func(,  PageBlockEmbed) bool) PageBlockEmbedArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockEmbed.
func ( PageBlockEmbedArray) ( func( PageBlockEmbed) bool) PageBlockEmbedArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockEmbedArray) () ( PageBlockEmbed,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockEmbedArray) () ( PageBlockEmbed,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockEmbedArray) () ( PageBlockEmbed,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockEmbed
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockEmbedArray) () ( PageBlockEmbed,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockEmbedPostArray is adapter for slice of PageBlockEmbedPost.
type PageBlockEmbedPostArray []PageBlockEmbedPost

// Sort sorts slice of PageBlockEmbedPost.
func ( PageBlockEmbedPostArray) ( func(,  PageBlockEmbedPost) bool) PageBlockEmbedPostArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockEmbedPost.
func ( PageBlockEmbedPostArray) ( func(,  PageBlockEmbedPost) bool) PageBlockEmbedPostArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockEmbedPost.
func ( PageBlockEmbedPostArray) ( func( PageBlockEmbedPost) bool) PageBlockEmbedPostArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockEmbedPostArray) () ( PageBlockEmbedPost,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockEmbedPostArray) () ( PageBlockEmbedPost,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockEmbedPostArray) () ( PageBlockEmbedPost,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockEmbedPost
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockEmbedPostArray) () ( PageBlockEmbedPost,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// SortByDate sorts slice of PageBlockEmbedPost by Date.
func ( PageBlockEmbedPostArray) () PageBlockEmbedPostArray {
	return .Sort(func(,  PageBlockEmbedPost) bool {
		return .GetDate() < .GetDate()
	})
}

// SortStableByDate sorts slice of PageBlockEmbedPost by Date.
func ( PageBlockEmbedPostArray) () PageBlockEmbedPostArray {
	return .SortStable(func(,  PageBlockEmbedPost) bool {
		return .GetDate() < .GetDate()
	})
}

// PageBlockCollageArray is adapter for slice of PageBlockCollage.
type PageBlockCollageArray []PageBlockCollage

// Sort sorts slice of PageBlockCollage.
func ( PageBlockCollageArray) ( func(,  PageBlockCollage) bool) PageBlockCollageArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockCollage.
func ( PageBlockCollageArray) ( func(,  PageBlockCollage) bool) PageBlockCollageArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockCollage.
func ( PageBlockCollageArray) ( func( PageBlockCollage) bool) PageBlockCollageArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockCollageArray) () ( PageBlockCollage,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockCollageArray) () ( PageBlockCollage,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockCollageArray) () ( PageBlockCollage,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockCollage
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockCollageArray) () ( PageBlockCollage,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockSlideshowArray is adapter for slice of PageBlockSlideshow.
type PageBlockSlideshowArray []PageBlockSlideshow

// Sort sorts slice of PageBlockSlideshow.
func ( PageBlockSlideshowArray) ( func(,  PageBlockSlideshow) bool) PageBlockSlideshowArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockSlideshow.
func ( PageBlockSlideshowArray) ( func(,  PageBlockSlideshow) bool) PageBlockSlideshowArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockSlideshow.
func ( PageBlockSlideshowArray) ( func( PageBlockSlideshow) bool) PageBlockSlideshowArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockSlideshowArray) () ( PageBlockSlideshow,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockSlideshowArray) () ( PageBlockSlideshow,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockSlideshowArray) () ( PageBlockSlideshow,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockSlideshow
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockSlideshowArray) () ( PageBlockSlideshow,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockChannelArray is adapter for slice of PageBlockChannel.
type PageBlockChannelArray []PageBlockChannel

// Sort sorts slice of PageBlockChannel.
func ( PageBlockChannelArray) ( func(,  PageBlockChannel) bool) PageBlockChannelArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockChannel.
func ( PageBlockChannelArray) ( func(,  PageBlockChannel) bool) PageBlockChannelArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockChannel.
func ( PageBlockChannelArray) ( func( PageBlockChannel) bool) PageBlockChannelArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockChannelArray) () ( PageBlockChannel,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockChannelArray) () ( PageBlockChannel,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockChannelArray) () ( PageBlockChannel,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockChannel
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockChannelArray) () ( PageBlockChannel,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockAudioArray is adapter for slice of PageBlockAudio.
type PageBlockAudioArray []PageBlockAudio

// Sort sorts slice of PageBlockAudio.
func ( PageBlockAudioArray) ( func(,  PageBlockAudio) bool) PageBlockAudioArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockAudio.
func ( PageBlockAudioArray) ( func(,  PageBlockAudio) bool) PageBlockAudioArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockAudio.
func ( PageBlockAudioArray) ( func( PageBlockAudio) bool) PageBlockAudioArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockAudioArray) () ( PageBlockAudio,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockAudioArray) () ( PageBlockAudio,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockAudioArray) () ( PageBlockAudio,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockAudio
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockAudioArray) () ( PageBlockAudio,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockKickerArray is adapter for slice of PageBlockKicker.
type PageBlockKickerArray []PageBlockKicker

// Sort sorts slice of PageBlockKicker.
func ( PageBlockKickerArray) ( func(,  PageBlockKicker) bool) PageBlockKickerArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockKicker.
func ( PageBlockKickerArray) ( func(,  PageBlockKicker) bool) PageBlockKickerArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockKicker.
func ( PageBlockKickerArray) ( func( PageBlockKicker) bool) PageBlockKickerArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockKickerArray) () ( PageBlockKicker,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockKickerArray) () ( PageBlockKicker,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockKickerArray) () ( PageBlockKicker,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockKicker
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockKickerArray) () ( PageBlockKicker,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockTableArray is adapter for slice of PageBlockTable.
type PageBlockTableArray []PageBlockTable

// Sort sorts slice of PageBlockTable.
func ( PageBlockTableArray) ( func(,  PageBlockTable) bool) PageBlockTableArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockTable.
func ( PageBlockTableArray) ( func(,  PageBlockTable) bool) PageBlockTableArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockTable.
func ( PageBlockTableArray) ( func( PageBlockTable) bool) PageBlockTableArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockTableArray) () ( PageBlockTable,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockTableArray) () ( PageBlockTable,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockTableArray) () ( PageBlockTable,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockTable
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockTableArray) () ( PageBlockTable,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockOrderedListArray is adapter for slice of PageBlockOrderedList.
type PageBlockOrderedListArray []PageBlockOrderedList

// Sort sorts slice of PageBlockOrderedList.
func ( PageBlockOrderedListArray) ( func(,  PageBlockOrderedList) bool) PageBlockOrderedListArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockOrderedList.
func ( PageBlockOrderedListArray) ( func(,  PageBlockOrderedList) bool) PageBlockOrderedListArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockOrderedList.
func ( PageBlockOrderedListArray) ( func( PageBlockOrderedList) bool) PageBlockOrderedListArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockOrderedListArray) () ( PageBlockOrderedList,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockOrderedListArray) () ( PageBlockOrderedList,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockOrderedListArray) () ( PageBlockOrderedList,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockOrderedList
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockOrderedListArray) () ( PageBlockOrderedList,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockDetailsArray is adapter for slice of PageBlockDetails.
type PageBlockDetailsArray []PageBlockDetails

// Sort sorts slice of PageBlockDetails.
func ( PageBlockDetailsArray) ( func(,  PageBlockDetails) bool) PageBlockDetailsArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockDetails.
func ( PageBlockDetailsArray) ( func(,  PageBlockDetails) bool) PageBlockDetailsArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockDetails.
func ( PageBlockDetailsArray) ( func( PageBlockDetails) bool) PageBlockDetailsArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockDetailsArray) () ( PageBlockDetails,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockDetailsArray) () ( PageBlockDetails,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockDetailsArray) () ( PageBlockDetails,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockDetails
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockDetailsArray) () ( PageBlockDetails,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockRelatedArticlesArray is adapter for slice of PageBlockRelatedArticles.
type PageBlockRelatedArticlesArray []PageBlockRelatedArticles

// Sort sorts slice of PageBlockRelatedArticles.
func ( PageBlockRelatedArticlesArray) ( func(,  PageBlockRelatedArticles) bool) PageBlockRelatedArticlesArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockRelatedArticles.
func ( PageBlockRelatedArticlesArray) ( func(,  PageBlockRelatedArticles) bool) PageBlockRelatedArticlesArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockRelatedArticles.
func ( PageBlockRelatedArticlesArray) ( func( PageBlockRelatedArticles) bool) PageBlockRelatedArticlesArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockRelatedArticlesArray) () ( PageBlockRelatedArticles,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockRelatedArticlesArray) () ( PageBlockRelatedArticles,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockRelatedArticlesArray) () ( PageBlockRelatedArticles,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockRelatedArticles
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockRelatedArticlesArray) () ( PageBlockRelatedArticles,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// PageBlockMapArray is adapter for slice of PageBlockMap.
type PageBlockMapArray []PageBlockMap

// Sort sorts slice of PageBlockMap.
func ( PageBlockMapArray) ( func(,  PageBlockMap) bool) PageBlockMapArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of PageBlockMap.
func ( PageBlockMapArray) ( func(,  PageBlockMap) bool) PageBlockMapArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of PageBlockMap.
func ( PageBlockMapArray) ( func( PageBlockMap) bool) PageBlockMapArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( PageBlockMapArray) () ( PageBlockMap,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( PageBlockMapArray) () ( PageBlockMap,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *PageBlockMapArray) () ( PageBlockMap,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  PageBlockMap
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *PageBlockMapArray) () ( PageBlockMap,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}