Image

ine at B

Select the department you want to search in

99.9) scrollPct = 100; $carousel.attr(scrollPct, scrollPct); if erInputType === touch) $carousel.addClass(scrolling); if (state.scrollTimeout != null) clearTimeout(state.scrollTimeout); state.scrollTimeout = setTimeout(function () $carousel.addClass(scrolling); , 1000); if (state.showPageIndicator) updatePageIndicator(); state.viewportScrolling = false; function onDragScrollerStart(event) $carousel.addClass(scrolling); $(document).bind(mousemove, onDragScroller); $(document).one(mouseup, onDragScrollerEnd); state.pageX = event.pageX; function onDragScroller(event) var deltaScrollRatio = (event.pageX - state.pageX) / state.viewportWidth; $viewport[0].scrollLeft += deltaScrollRatio * state.viewportScrollWidth; state.pageX = event.pageX; function onDragScrollerEnd(event) $carousel.removeClass(scrolling); $(document).unbind(mousemove, onDragScroller); function onNavButtonClick(event) event.preventDefault(); var scrollLeft = state.getViewportScrollLeft(); if (event.data.type === prev) scrollLeft = Math.max(scrollLeft - state.getPaginationWidth(), 0); else if (event.data.type === next) scrollLeft = Math.min(scrollLeft + state.getPaginationWidth(), state.getViewportMaxScrollLeft()); $viewport.animate( scrollLeft: scrollLeft , onViewportScroll); function onPageIndicatorDotClick(event) event.preventDefault(); let pageNumber = event.target.getAttribute(data-page-number); scrollToPage(pageNumber); function scrollToPage(pageNumber) $viewport.animate( scrollLeft: (pageNumber - 1) * state.getPaginationWidth() , onViewportScroll); function autoScroll() let scrollLeft = state.getViewportScrollLeft(); scrollLeft = Math.min(scrollLeft + state.getPaginationWidth(), state.getViewportMaxScrollLeft()); $viewport.animate( scrollLeft: scrollLeft , onViewportScroll); state.autoScrollTimeout = setTimeout(autoScroll, AUTO_SCROLL_TIMEOUT); function copyFirstAndLastPage() const $viewPortRowInner = $viewport.find(.sl-sobe-carousel-viewport-row-inner); const $firstPage = $viewPortRowInner.find(li.sl-sobe-carousel-sub-card).first().clone(); const $lastPage = st().clone(); $firstPage.prop(id, $firstPage.attr(id) + _clone); $lastPage.prop(id, $lastPage.attr(id) + _clone); $viewPortRowInner.prepend($lastPage); $viewPortRowInner.append($firstPage); function scrollToClosestPage() const activePageNumber = Math.round(state.getViewportScrollLeft() / state.viewportWidth); $viewport.scrollLeft(activePageNumber * state.getPaginationWidth()); function init() $(document).one(mousemove touchstart, onUserInputAction); $viewport.scroll(onViewportScroll); $(window).resize(function () setTimeout(onResize, 10); ); state.updateViewportDimensions(); state.scrollable = false; state.showPageIndicator = false; if (state.scrollable) if(state.showPageIndicator) $carousel.find(.sl-sobe-carousel-page-indicator

.dot).click(onPageIndicatorDotClick); $carousel.addClass(scrollable); $viewport.scroll(); $carousel.css(visibility, visible); init(); );

99.9) scrollPct = 100; $carousel.attr(scrollPct, scrollPct); if erInputType === touch) $carousel.addClass(scrolling); if (state.scrollTimeout != null) clearTimeout(state.scrollTimeout); state.scrollTimeout = setTimeout(function () $carousel.addClass(scrolling); , 1000); if (state.showPageIndicator) updatePageIndicator(); state.viewportScrolling = false; function onDragScrollerStart(event) $carousel.addClass(scrolling); $(document).bind(mousemove, onDragScroller); $(document).one(mouseup, onDragScrollerEnd); state.pageX = event.pageX; function onDragScroller(event) var deltaScrollRatio = (event.pageX - state.pageX) / state.viewportWidth; $viewport[0].scrollLeft += deltaScrollRatio * state.viewportScrollWidth; state.pageX = event.pageX; function onDragScrollerEnd(event) $carousel.removeClass(scrolling); $(document).unbind(mousemove, onDragScroller); function onNavButtonClick(event) event.preventDefault(); var scrollLeft = state.getViewportScrollLeft(); if (event.data.type === prev) scrollLeft = Math.max(scrollLeft - state.getPaginationWidth(), 0); else if (event.data.type === next) scrollLeft = Math.min(scrollLeft + state.getPaginationWidth(), state.getViewportMaxScrollLeft()); $viewport.animate( scrollLeft: scrollLeft , onViewportScroll); function onPageIndicatorDotClick(event) event.preventDefault(); let pageNumber = event.target.getAttribute(data-page-number); scrollToPage(pageNumber); function scrollToPage(pageNumber) $viewport.animate( scrollLeft: (pageNumber - 1) * state.getPaginationWidth() , onViewportScroll); function autoScroll() let scrollLeft = state.getViewportScrollLeft(); scrollLeft = Math.min(scrollLeft + state.getPaginationWidth(), state.getViewportMaxScrollLeft()); $viewport.animate( scrollLeft: scrollLeft , onViewportScroll); state.autoScrollTimeout = setTimeout(autoScroll, AUTO_SCROLL_TIMEOUT); function copyFirstAndLastPage() const $viewPortRowInner = $viewport.find(.sl-sobe-carousel-viewport-row-inner); const $firstPage = $viewPortRowInner.find(li.sl-sobe-carousel-sub-card).first().clone(); const $lastPage = st().clone(); $firstPage.prop(id, $firstPage.attr(id) + _clone); $lastPage.prop(id, $lastPage.attr(id) + _clone); $viewPortRowInner.prepend($lastPage); $viewPortRowInner.append($firstPage); function scrollToClosestPage() const activePageNumber = Math.round(state.getViewportScrollLeft() / state.viewportWidth); $viewport.scrollLeft(activePageNumber * state.getPaginationWidth()); function init() $(document).one(mousemove touchstart, onUserInputAction); $viewport.scroll(onViewportScroll); $(window).resize(function () setTimeout(onResize, 10); ); state.updateViewportDimensions(); state.scrollable = false; state.showPageIndicator = true; if (state.scrollable) if(state.showPageIndicator) $carousel.find(.sl-sobe-carousel-page-indicator

.dot).click(onPageIndicatorDotClick); $carousel.addClass(scrollable); $viewport.scroll(); $carousel.css(visibility, visible); init(); );

99.9) scrollPct = 100; $carousel.attr(scrollPct, scrollPct); if (state.userInputType === touch) $carousel.addClass(scrolling); if (state.scrollTimeout != null) clearTimeout(state.scrollTimeout); state.scrollTimeout = setTimeout(function () $carousel.addClass(scrolling); , 1000); if ($viewport[0].scrollLeft === 0) $viewport.scrollLeft(6.0 * state.getPaginationWidth()); else if ($viewport[0].scrollLeft / state.getViewportMaxScrollLeft()

= 0.99) $viewport.scrollLeft(1 * state.getPaginationWidth()); if (state.showPageIndicator) updatePageIndicator(); state.viewportScrolling = false; function onDragScrollerStart(event) $carousel.addClass(scrolling); $(document).bind(mousemove, onDragScroller); $(document).one(mouseup, onDragScrollerEnd); state.pageX = event.pageX; function onDragScroller(event) var deltaScrollRatio = (event.pageX - state.pageX) / state.viewportWidth; $viewport[0].scrollLeft += deltaScrollRatio * state.viewportScrollWidth; state.pageX = event.pageX; function onDragScrollerEnd(event) $carousel.removeClass(scrolling); $(document).unbind(mousemove, onDragScroller); function onNavButtonClick(event) event.preventDefault(); var scrollLeft = state.getViewportScrollLeft(); if (event.data.type === prev) scrollLeft = Math.max(scrollLeft - state.getPaginationWidth(), 0); else if (event.data.type === next) scrollLeft = Math.min(scrollLeft + state.getPaginationWidth(), state.getViewportMaxScrollLeft()); scrollLeft = Math.round(scrollLeft / state.getPaginationWidth()) * state.getPaginationWidth(); $viewport.animate( scrollLeft: scrollLeft , onViewportScroll); function onPageIndicatorDotClick(event) event.preventDefault(); let pageNumber = event.target.getAttribute(data-page-number); pageNumber++; scrollToPage(pageNumber); function scrollToPage(pageNumber) $viewport.animate( scrollLeft: (pageNumber - 1) * state.getPaginationWidth() , onViewportScroll); function autoScroll() let scrollLeft = state.getViewportScrollLeft(); scrollLeft = Math.min(scrollLeft + state.getPaginationWidth(), state.getViewportMaxScrollLeft()); scrollLeft = Math.round(scrollLeft / state.getPaginationWidth()) * state.getPaginationWidth(); $viewport.animate( scrollLeft: scrollLeft , onViewportScroll); state.autoScrollTimeout = setTimeout(autoScroll, AUTO_SCROLL_TIMEOUT); function copyFirstAndLastPage() const $viewPortRowInner = $viewport.find(.sl-sobe-carousel-viewport-row-inner); const $firstPage = $viewPortRowInner.find(li.sl-sobe-carousel-sub-card).first().clone(); const $lastPage = st().clone(); $firstPage.prop(id, $firstPage.attr(id) + _clone); $lastPage.prop(id, $lastPage.attr(id) + _clone); $viewPortRowInner.prepend($lastPage); $viewPortRowInner.append($firstPage); function scrollToClosestPage() const activePageNumber = Math.round(state.getViewportScrollLeft() / state.viewportWidth); $viewport.scrollLeft(activePageNumber * state.getPaginationWidth()); function init() $(document).one(mousemove touchstart, onUserInputAction); $viewport.scroll(onViewportScroll); $(window).resize(function () setTimeout(onResize, 10); ); state.updateViewportDimensions(); state.scrollable = true; state.showPageIndicator = true; if (state.scrollable) if(state.showPageIndicator) $carousel.find(.sl-sobe-carousel-page-indicator

.dot).click(onPageIndicatorDotClick); copyFirstAndLastPage(); state.updateViewportDimensions(); $viewport.scrollLeft(1 * state.getPaginationWidth()); updatePageIndicator(); $carousel.addClass(scrollable); $viewport.scroll(); $carousel.css(visibility, visible); init(); );

99.9) scrollPct = 100; $carousel.attr(scrollPct, scrollPct); if erInputType === touch) $carousel.addClass(scrolling); if (state.scrollTimeout != null) clearTimeout(state.scrollTimeout); state.scrollTimeout = setTimeout(function () $carousel.addClass(scrolling); , 1000); if (state.showPageIndicator) updatePageIndicator(); state.viewportScrolling = false; function onDragScrollerStart(event) $carousel.addClass(scrolling); $(document).bind(mousemove, onDragScroller); $(document).one(mouseup, onDragScrollerEnd); state.pageX = event.pageX; function onDragScroller(event) var deltaScrollRatio = (event.pageX - state.pageX) / state.viewportWidth; $viewport[0].scrollLeft += deltaScrollRatio * state.viewportScrollWidth; state.pageX = event.pageX; function onDragScrollerEnd(event) $carousel.removeClass(scrolling); $(document).unbind(mousemove, onDragScroller); function onNavButtonClick(event) event.preventDefault(); var scrollLeft = state.getViewportScrollLeft(); if (event.data.type === prev) scrollLeft = Math.max(scrollLeft - state.getPaginationWidth(), 0); else if (event.data.type === next) scrollLeft = Math.min(scrollLeft + state.getPaginationWidth(), state.getViewportMaxScrollLeft()); $viewport.animate( scrollLeft: scrollLeft , onViewportScroll); function onPageIndicatorDotClick(event) event.preventDefault(); let pageNumber = event.target.getAttribute(data-page-number); scrollToPage(pageNumber); function scrollToPage(pageNumber) $viewport.animate( scrollLeft: (pageNumber - 1) * state.getPaginationWidth() , onViewportScroll); function autoScroll() let scrollLeft = state.getViewportScrollLeft(); scrollLeft = Math.min(scrollLeft + state.getPaginationWidth(), state.getViewportMaxScrollLeft()); $viewport.animate( scrollLeft: scrollLeft , onViewportScroll); state.autoScrollTimeout = setTimeout(autoScroll, AUTO_SCROLL_TIMEOUT); function copyFirstAndLastPage() const $viewPortRowInner = $viewport.find(.sl-sobe-carousel-viewport-row-inner); const $firstPage = $viewPortRowInner.find(li.sl-sobe-carousel-sub-card).first().clone(); const $lastPage = st().clone(); $firstPage.prop(id, $firstPage.attr(id) + _clone); $lastPage.prop(id, $lastPage.attr(id) + _clone); $viewPortRowInner.prepend($lastPage); $viewPortRowInner.append($firstPage); function scrollToClosestPage() const activePageNumber = Math.round(state.getViewportScrollLeft() / state.viewportWidth); $viewport.scrollLeft(activePageNumber * state.getPaginationWidth()); function init() $(document).one(mousemove touchstart, onUserInputAction); $viewport.scroll(onViewportScroll); $(window).resize(function () setTimeout(onResize, 10); ); state.updateViewportDimensions(); state.scrollable = false; state.showPageIndicator = false; if (state.scrollable) if(state.showPageIndicator) $carousel.find(.sl-sobe-carousel-page-indicator

.dot).click(onPageIndicatorDotClick); $carousel.addClass(scrollable); $viewport.scroll(); $carousel.css(visibility, visible); init(); );

99.9) scrollPct = 100; $carousel.attr(scrollPct, scrollPct); if erInputType === touch) $carousel.addClass(scrolling); if (state.scrollTimeout != null) clearTimeout(state.scrollTimeout); state.scrollTimeout = setTimeout(function () $carousel.addClass(scrolling); , 1000); if (state.showPageIndicator) updatePageIndicator(); state.viewportScrolling = false; function onDragScrollerStart(event) $carousel.addClass(scrolling); $(document).bind(mousemove, onDragScroller); $(document).one(mouseup, onDragScrollerEnd); state.pageX = event.pageX; function onDragScroller(event) var deltaScrollRatio = (event.pageX - state.pageX) / state.viewportWidth; $viewport[0].scrollLeft += deltaScrollRatio * state.viewportScrollWidth; state.pageX = event.pageX; function onDragScrollerEnd(event) $carousel.removeClass(scrolling); $(document).unbind(mousemove, onDragScroller); function onNavButtonClick(event) event.preventDefault(); var scrollLeft = state.getViewportScrollLeft(); if (event.data.type === prev) scrollLeft = Math.max(scrollLeft - state.getPaginationWidth(), 0); else if (event.data.type === next) scrollLeft = Math.min(scrollLeft + state.getPaginationWidth(), state.getViewportMaxScrollLeft()); $viewport.animate( scrollLeft: scrollLeft , onViewportScroll); function onPageIndicatorDotClick(event) event.preventDefault(); let pageNumber = event.target.getAttribute(data-page-number); scrollToPage(pageNumber); function scrollToPage(pageNumber) $viewport.animate( scrollLeft: (pageNumber - 1) * state.getPaginationWidth() , onViewportScroll); function autoScroll() let scrollLeft = state.getViewportScrollLeft(); scrollLeft = Math.min(scrollLeft + state.getPaginationWidth(), state.getViewportMaxScrollLeft()); $viewport.animate( scrollLeft: scrollLeft , onViewportScroll); state.autoScrollTimeout = setTimeout(autoScroll, AUTO_SCROLL_TIMEOUT); function copyFirstAndLastPage() const $viewPortRowInner = $viewport.find(.sl-sobe-carousel-viewport-row-inner); const $firstPage = $viewPortRowInner.find(li.sl-sobe-carousel-sub-card).first().clone(); const $lastPage = st().clone(); $firstPage.prop(id, $firstPage.attr(id) + _clone); $lastPage.prop(id, $lastPage.attr(id) + _clone); $viewPortRowInner.prepend($lastPage); $viewPortRowInner.append($firstPage); function scrollToClosestPage() const activePageNumber = Math.round(state.getViewportScrollLeft() / state.viewportWidth); $viewport.scrollLeft(activePageNumber * state.getPaginationWidth()); function init() $(document).one(mousemove touchstart, onUserInputAction); $viewport.scroll(onViewportScroll); $(window).resize(function () setTimeout(onResize, 10); ); state.updateViewportDimensions(); state.scrollable = true; state.showPageIndicator = false; if (state.scrollable) if(state.showPageIndicator) $carousel.find(.sl-sobe-carousel-page-indicator

.dot).click(onPageIndicatorDotClick); $carousel.addClass(scrollable); $viewport.scroll(); $carousel.css(visibility, visible); init(); );

99.9) scrollPct = 100; $carousel.attr(scrollPct, scrollPct); if erInputType === touch) $carousel.addClass(scrolling); if (state.scrollTimeout != null) clearTimeout(state.scrollTimeout); state.scrollTimeout = setTimeout(function () $carousel.addClass(scrolling); , 1000); if (state.showPageIndicator) updatePageIndicator(); state.viewportScrolling = false; function onDragScrollerStart(event) $carousel.addClass(scrolling); $(document).bind(mousemove, onDragScroller); $(document).one(mouseup, onDragScrollerEnd); state.pageX = event.pageX; function onDragScroller(event) var deltaScrollRatio = (event.pageX - state.pageX) / state.viewportWidth; $viewport[0].scrollLeft += deltaScrollRatio * state.viewportScrollWidth; state.pageX = event.pageX; function onDragScrollerEnd(event) $carousel.removeClass(scrolling); $(document).unbind(mousemove, onDragScroller); function onNavButtonClick(event) event.preventDefault(); var scrollLeft = state.getViewportScrollLeft(); if (event.data.type === prev) scrollLeft = Math.max(scrollLeft - state.getPaginationWidth(), 0); else if (event.data.type === next) scrollLeft = Math.min(scrollLeft + state.getPaginationWidth(), state.getViewportMaxScrollLeft()); $viewport.animate( scrollLeft: scrollLeft , onViewportScroll); function onPageIndicatorDotClick(event) event.preventDefault(); let pageNumber = event.target.getAttribute(data-page-number); scrollToPage(pageNumber); function scrollToPage(pageNumber) $viewport.animate( scrollLeft: (pageNumber - 1) * state.getPaginationWidth() , onViewportScroll); function autoScroll() let scrollLeft = state.getViewportScrollLeft(); scrollLeft = Math.min(scrollLeft + state.getPaginationWidth(), state.getViewportMaxScrollLeft()); $viewport.animate( scrollLeft: scrollLeft , onViewportScroll); state.autoScrollTimeout = setTimeout(autoScroll, AUTO_SCROLL_TIMEOUT); function copyFirstAndLastPage() const $viewPortRowInner = $viewport.find(.sl-sobe-carousel-viewport-row-inner); const $firstPage = $viewPortRowInner.find(li.sl-sobe-carousel-sub-card).first().clone(); const $lastPage = st().clone(); $firstPage.prop(id, $firstPage.attr(id) + _clone); $lastPage.prop(id, $lastPage.attr(id) + _clone); $viewPortRowInner.prepend($lastPage); $viewPortRowInner.append($firstPage); function scrollToClosestPage() const activePageNumber = Math.round(state.getViewportScrollLeft() / state.viewportWidth); $viewport.scrollLeft(activePageNumber * state.getPaginationWidth()); function init() $(document).one(mousemove touchstart, onUserInputAction); $viewport.scroll(onViewportScroll); $(window).resize(function () setTimeout(onResize, 10); ); state.updateViewportDimensions(); state.scrollable = false; state.showPageIndicator = true; if (state.scrollable) if(state.showPageIndicator) $carousel.find(.sl-sobe-carousel-page-indicator

.dot).click(onPageIndicatorDotClick); $carousel.addClass(scrollable); $viewport.scroll(); $carousel.css(visibility, visible); init(); );

99.9) scrollPct = 100; $carousel.attr(scrollPct, scrollPct); if erInputType === touch) $carousel.addClass(scrolling); if (state.scrollTimeout != null) clearTimeout(state.scrollTimeout); state.scrollTimeout = setTimeout(function () $carousel.addClass(scrolling); , 1000); if (state.showPageIndicator) updatePageIndicator(); state.viewportScrolling = false; function onDragScrollerStart(event) $carousel.addClass(scrolling); $(document).bind(mousemove, onDragScroller); $(document).one(mouseup, onDragScrollerEnd); state.pageX = event.pageX; function onDragScroller(event) var deltaScrollRatio = (event.pageX - state.pageX) / state.viewportWidth; $viewport[0].scrollLeft += deltaScrollRatio * state.viewportScrollWidth; state.pageX = event.pageX; function onDragScrollerEnd(event) $carousel.removeClass(scrolling); $(document).unbind(mousemove, onDragScroller); function onNavButtonClick(event) event.preventDefault(); var scrollLeft = state.getViewportScrollLeft(); if (event.data.type === prev) scrollLeft = Math.max(scrollLeft - state.getPaginationWidth(), 0); else if (event.data.type === next) scrollLeft = Math.min(scrollLeft + state.getPaginationWidth(), state.getViewportMaxScrollLeft()); $viewport.animate( scrollLeft: scrollLeft , onViewportScroll); function onPageIndicatorDotClick(event) event.preventDefault(); let pageNumber = event.target.getAttribute(data-page-number); scrollToPage(pageNumber); function scrollToPage(pageNumber) $viewport.animate( scrollLeft: (pageNumber - 1) * state.getPaginationWidth() , onViewportScroll); function autoScroll() let scrollLeft = state.getViewportScrollLeft(); scrollLeft = Math.min(scrollLeft + state.getPaginationWidth(), state.getViewportMaxScrollLeft()); $viewport.animate( scrollLeft: scrollLeft , onViewportScroll); state.autoScrollTimeout = setTimeout(autoScroll, AUTO_SCROLL_TIMEOUT); function copyFirstAndLastPage() const $viewPortRowInner = $viewport.find(.sl-sobe-carousel-viewport-row-inner); const $firstPage = $viewPortRowInner.find(li.sl-sobe-carousel-sub-card).first().clone(); const $lastPage = st().clone(); $firstPage.prop(id, $firstPage.attr(id) + _clone); $lastPage.prop(id, $lastPage.attr(id) + _clone); $viewPortRowInner.prepend($lastPage); $viewPortRowInner.append($firstPage); function scrollToClosestPage() const activePageNumber = Math.round(state.getViewportScrollLeft() / state.viewportWidth); $viewport.scrollLeft(activePageNumber * state.getPaginationWidth()); function init() $(document).one(mousemove touchstart, onUserInputAction); $viewport.scroll(onViewportScroll); $(window).resize(function () setTimeout(onResize, 10); ); state.updateViewportDimensions(); state.scrollable = true; state.showPageIndicator = false; if (state.scrollable) if(state.showPageIndicator) $carousel.find(.sl-sobe-carousel-page-indicator

.dot).click(onPageIndicatorDotClick); $carousel.addClass(scrollable); $viewport.scroll(); $carousel.css(visibility, visible); init(); );

Biographies, Diaries & True Accounts

Health, Family & Personal Development

Medicine and Health Sciences Textbooks

Amazon Asia-Pacific Holdings Private Limited

Explore and Buy Books at Amazon India

Reading books is the favourite pastime of many people. If youre bitten by the book-bug too, then there is a massive collection of books for you to read. From bestsellers to new & future releases, the choices are exhaustive when youshop onlineat Indias Largest Bookstore.

From books for dummies, to textbooks for students, there are a wide variety of books. You can explore the young adults books store if youre looking to gift a nice book to a teenager, where you can find books from the best-selling series.

Innumerable books are divided under various categories like action & adventure, business & economics, comics & mangas, crime, thriller & mystery, fiction, humour, and romance. You can browse by genre when youbuy onlinemaking it more convenient for you to narrow down your choices. Then there are biographies and true accounts bestsellers as well. These books are available in different formats like hardcover, paperback, and board book.

Gone are the days, when books were always hand-held. In this digital age, there are Kindle eBooks which you can read on your Amazon Kindle. Some selected range of free eBooks are present if you want to download them on to your device. Apart from that, there are audiobooks, which can be used by those who prefer listening to reading. This is especially helpful for students who want to listen to recorded lectures by reputed professors, and also to those who cant read.

When you shop online, there are hot pre-orders. You can easily secure that book youve always wanted to read, as the book will be delivered at your doorstep soon after its official release. You also have easy access to most of the new arrivals, with book descriptions that help you get an idea about the book without spoilers.

You can also use the Search Inside!™ feature to look inside the book and browse through a few pages of the book, just as you would at a bookstore. Read book reviews written by Amazon customers, and review your favourite books too. Amazon.in also offers you personalised recommendations based on your browsing and purchasing history to help you discover new books that might interest you. So, whether you are looking to buy a story book for children; study guides for engineering, law or medicine; Biographies or books on Computing & Digital Media; Amazon.in has a book for you.

© 1996-2022, , Inc. or its affiliates

div, id_gen:function(elem, index) return nav_sitewide_msg; , s:.acswidget.acswidget-content-grid.bxw-content-grid

.bxc-grid__container, id_gen:function(elem, index) return osa_browse_banner_ + index; , s:.GB-M-COMMON.GB-SUPPLE, id_gen:function(elem, index) return osa_browse_supple_ + index; , s:.GB-M-COMMON.GB-SHOVELER, id_gen:function(elem, index) return osa_browse_shoveler_ + index; , s:.a-section.coupon-shoveler, id_gen:function(elem, index) return osa_browse_coupon_ + index; , s:live-flagship-root, id_gen:function(elem, index) return osa_browse_amazon_live + index; , s:.footerStripe, id_gen:function(elem, index) return osa_browse_footer_stripe_ + index; , s:.acswidget.acswidget-carousel.acswidget-carousel--shoveler.acswidget-carousel--softlines, id_gen:function(elem, index) return osa_browse_carousel_ + index; , s:video, id_gen:function(elem, index) return osa_browse_video_ + index; ]; ue.uels( var ue_mbl=ue_csm.ue.exec(function(f,a)function s(d)b=d;a.AMZNPerformance=b;b.transition=b.transition;b.timing=b.timing;if(a.csa)var c;b.timing.transitionStart&&(c=b.timing.transitionStart);b.timing.processStart&&(c=b.timing.processStart);c&&(csa(PageTiming)(mark,nativeTransitionStart,c),csa(PageTiming)(mark,transitionStart,c))f.ue.exec(t,csm-android-check)()&&b.tags instanceof Array&&(d=-1!=b.tags.indexOf(usesAppStartTime)b.transition.type?!b.transition.type&&-1

d)f(csm.jumpStart.mtsDiff,h-d0);a(csm-rld-mts-gt);returnh&&k?a(csm-rld-mts-leq):k?ha(csm-rld-mts-no-new): a(csm-rld-mts-no-old)g&&g.timing&&g.timing.navigationStart?b.timing.transitionStart=g.timing.navigationStart:delete b.timing.transitionStartfunction v()trya.P.register(AMZNPerformance,function()return b)catch(d)function t=null;var unchType];x&&c.push(fr_ovr,l(a.fr_ovr),fcp_ovr,l(a.fcp_ovr));for(var a=,e=0;e

1-1/a.ue_fadb,r=!1,x=t();w!x?u():l();a.ue_isAdb=v;a.ue_isAdb.unk=adblk_unk;a.ue_isAdb.no=p;a.ue_isAdb.yes=k,adb)(document,window); (function(c,l,m)function h(a)if(a)tryif(a.id)return//*[@id=+a.id+];var b,d=1,e;for(e=a.previousSibling;e;e=e.previousSibling)e.nodeName===a.nodeName&b=d;var c=a.nodeName;1!==b&&(c+=[+b+]);a.parentNode&&(c=h(a.parentNode)+/+c);return ccatch(f)returnDETACHEDfunction f(a)if(a&&a.getAttribute)return a.getAttribute(k)?a.getAttribute(k):f(a.parentElement)var k=data-cel-widget,g=!1,d=[];(c.ue).isBF=function()tryvar a=JSON.parse(localStorage[csm-bf][]),b=0

d?3

a-d:3

d-afunction A(a,d)var c=m.pageXOffset,b=m.pageYOffset,k;a:tryif(a)var g=a.getBoundingClientRect(),e,r=0===a.offsetWidth&&0===a.offsetHeight;c:for(var f=a.parentNode,w=g.left0,n=g.top0,p=g.width0,q=g.height0;f&&f!==document.body;)var l;d:tryvar s=void 0;if(f)var G=f.getBoundingClientRect(), s=x:G.left0,y:G.top0,w:G.width0,h:G.height0;else s=void 0;l=s;break dcatch(v)l=void 0var t=window.getComputedStyle(f),u=hidden===t.overflow,y=uhidden===t.overflowX,z=uhidden===t.overflowY,J=n+q-1

l.x+l.w-1)&&yJ&break cf=f.parentNodee=!1k=x:g.left+c0,y:g.top+b0,w:g.width0,h:g.height0,d:(re)0else k=void 0;break acatch(A)k=void 0if(k&&!a.cel_b)a.cel_b=k,C(n:a.getAttribute(x),w:a.cel_b.w,h:a.cel_b.h,d:a.cel_b.d, x:a.cel_b.x,y:a.cel_b.y,t:d,k:ewi,cl:a.className,clog:1);elseif(c=k)c=a.cel_b,b=k,c=b.d===c.d&&1===b.d?!1:!(h(c.x,b.x)&&h(c.y,b.y)&&h(c.w,b.w)&&h(c.h,b.h)&&c.d===b.d);c&&(a.cel_b=k,C(n:a.getAttribute(x),w:a.cel_b.w,h:a.cel_b.h,d:a.cel_b.d,x:a.cel_b.x,y:a.cel_b.y,t:d,k:ewi,clog:1))function y(b,g)var h;h=b.c?c.getElementsByClassName(b.c):b.id?[c.getElementById(b.id)]:c.querySelectorAll(b.s);b.w=[];for(var f=0;f

b))e=void 0;a:if(v[b].t-v[b-1].t

y)e=0;break ae=1e=!e(I= e)?g=b-1:C.pop();C.push(c)B=F.now()-E;q=Math.min(q,B);t=Math.max(t,B);x=(x*d+B)/(d+1);d+=1;n(k:u,e:C,min:Math.floor(1E3*q),max:Math.floor(1E3*t),avg:Math.floor(1E3*x),c:1);v=[];C=[];g=0var h=100,A=20,y=25,u=mmm1,p,k,b=a.window,r=b.document,w=b.setInterval,s=a.ue,n=a.ue_cel.log,e,q=1E3,t=0,x=0,d=0,E,B,v=[],C=[],g=0,l,z,D,H,I,F=f&&f.now&&fDate.now&&Datenow:function()return(new Date).getTime();returnon:function(a)p=a.ts;k=a.ns;s.attach&&s.attach(mousemove,m,r);e=w(c,3E3),off:function(a)k&& (l&&m(l,!0),c());clearInterval(e);s.detach&&s.detach(mousemove,m,r),ready:function()return a.ue_cel&&a.ue_cel.log,reset:function()v=[];C=[];g=0;l=null(window.performance),a.ue_cel&&a.ue_cel.registerModule(mouse move module,a.ue_mmm)))(ue_csm); ue_csm.ue.exec(function(b,c)var e=function(),f=function()returnsend:function(b,d)if(d&if(c.XDomainRequest)a=new XDomainRequest,a.onerror=e,a.ontimeout=e,a.onprogress=e,a.onload=e,a.timeout=0;else if(c.XMLHttpRequest)if(a=new XMLHttpRequest,!(withCredentialsin a))throwelse a=void 0;if(!a)throw;a.open(POST,b,!0);a.setRequestHeader&&a.setRequestHeader(Content-type,text/plain);a.send(d),isSupported:!0(),g=function()returnsend:function(c,d)if(c&&d)if(navigator.sendBeacon(c, d))b.ue_sbuimp&&b.ue&&b.ue.ssw&&b.ue.ssw(eelsts,scs);else throw,isSupported:!!navigator.sendBeacon&&!(c.cordova&&c.cordova.platformId&&ios==c.cordova.platformId)();b.ue._ajx=f;b.ue._sBcn=g,Transportation-clients)(ue_csm,window); ue_csm.ue.exec(function(b,k)function A()for(var a=0;a

a?0+a:a;return Date.prototype.toISOString?a.toISOString():a.getUTCFullYear()+-+c(a.getUTCMonth()+1)+-+c(a.getUTCDate())+T+c(a.getUTCHours())+:+c(a.getUTCMinutes())+:+c(a.getUTCSeconds())+.+String((a.getUTCMilliseconds()/1E3).toFixed(3)).slice(2,5)+Zfunction x(a)tryreturn JSON.stringify(a)catch(c)return nullfunction C(a,c,h,g)var p=!1;g=g;r++;r==D&&B(m:Max number of Sushi Logs exceeded,f:sushi-client.js,logLevel:ERROR,attribution:CSMSushiClient_MAX_CALLS,k.ue_err_chan jserr);var f;if(f=!(r

N)&&m(),q+=c,a=data:t.compressEvent(a),e.push(a),(g).n?0===E?m():u(u=k.setTimeout(m,E)):v(v=k.setTimeout(m,O)),p=!0):p=!1);!p&&b.ue_int&&console.error(Invalid JS Nexus API call);return pfunction F()if(!G)for(var a=0;a

(z+w).lengthb.charAt(0)===z)?f[b]?f[b]:a(b):breturncompressEvent:c,buildPayload:function()return x(cs:dct:l,events:e)();(function()if(d.event&&d.event.isStub)if(b.ue_sbuimp&&b.ue&&b.ue.ssw)var a=b.ue.ssw(eelsts).val;if(a&&unk===a&&(a=b.ue.ssw(eeldata).va

Categories: General fiction

Popular Posts

01

what does fiction mean

02

122 Types of Outlines

03
04

Library Journal

See All Popular

link: google